SQL表格模型QSqlTableModel

正文 一、创建数据库 1.新建Qt Widgets应用,项目名称为tablemodel,基类为QMainWindow,类名MainWindow。 2.完成后打开tablemodel.pro文件,将第一行代码更改为: QT += coregui sql 复制代码 然后保存文件。 3.向项目中添加新的C++头文件,名称为connection.h。完成后将其内容更改如下: #ifndef CONNECTION_H #define CONNECTION_H #include #include
分类: 其他 发布时间: 06-25 17:37 阅读次数: 0

Qt中使用QJsonDocument解析JSON数据一直为null

问题现象 QByteArray barray = data.toUtf8(); QJsonDocument jdoc = QJsonDocument::fromBinaryData(barray); if(jdoc.isNull()) { return; // 一直会进到这里 } 问题原因 QJsonDocument::fromBinaryData()不是按utf-8编码方式解析的。 解决办法 QJsonDocument::fromJson()是按utf-8编码方式解析的。
分类: 其他 发布时间: 06-25 17:36 阅读次数: 0

QSqlTableModel 使用方法

QSqlTableModel 使用方法 2013年03月27日 ⁄ 綜合 ⁄ 共 9196字 ⁄ 字型大小 小 中 大 ⁄ 評論關閉 Qt QSqlTableModel 使用心得 連接資料庫 執行sql查詢,條件顯示,排序 獲取記錄數,列數以及記錄內容,欄位內容 新增,修改,刪除,恢復 其它 1---------------連接資料庫(我用的access2003做實驗) 在.pro文件添加 QT +=SQL win32:CONFIG+=console ---------------------
分类: 其他 发布时间: 06-25 17:36 阅读次数: 0

QSqlTableMoel: error: C2064: 项不会计算为接受 0 个参数的函数

错误提示 QSqlRecord record = record(); 改行报错:error: C2064: 项不会计算为接受 0 个参数的函数 错误原因 类对象名和后面的函数名冲突。 解决办法 类对象改名。
分类: 其他 发布时间: 06-25 17:36 阅读次数: 0

QMl中使用QSqlTableModel

自己工作中用的代码,基本功能可用。 MySqlTableModel.h #ifndef SQLQUERYMODEL_H #define SQLQUERYMODEL_H #include <QSqlTableModel> #include <QList> #include <QString> #include <C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/INCLUDE/xiosbase> class MySqlTableM
分类: 其他 发布时间: 06-25 17:36 阅读次数: 0

QML元素使用范例-自定义按钮外观

Button{ style: ButtonStyle{ background: Rectangle{ radius: 4 color: control.pressed ? “#2a5566” : “#1a353e” border.color: control.activeFocus ? “red” : “transparent” } label: Text{ text: control.text verticalAlignment: Text.AlignVCenter horizontalAl
分类: 其他 发布时间: 06-25 17:35 阅读次数: 0

[MFC]截屏函数

亲测可用。 VOID _ScreenshotToFile(LPTSTR lpFileName) { DWORD iDeskWidth = GetSystemMetrics(SM_CXSCREEN); DWORD iDeskHeight = GetSystemMetrics(SM_CYSCREEN); HDC hdcMem = CreateCompatibleDC(0); HDC hdcdesk = GetDC(0); HBITMAP bitmap = CreateCompatible
分类: 其他 发布时间: 06-25 17:35 阅读次数: 0

QML中使用全局变量

全局变量,顾名思义就是在程序中到处都能使用的变量。这在一定程度上违背了“模块化设计”这个思想。在笔者刚接触编程的时候老师就说过全局变量有害,就跟goto一样;但在实际工程中它其实很有用,使用得当的话反而能让整个软件结构更清晰、紧凑。本文结合实际经验向大家介绍在QML程序中如何有效使用全局变量。 全局变量的作用 首先要说明的是,我们这里说的全局变量不是整数、浮点数这样的简单变量,而是复杂的类对象。那什么时候会用到全局变量呢?在笔者的实践中,一般下面几种情况会用到全局变量: 资源共享、重用。整个应
分类: 其他 发布时间: 06-25 17:35 阅读次数: 0

无法将参数 1 从“QMap(quint8,Point)”转换为“QMap(quint8,Point)”

错误信息 E:\Project\build-Terminal-Desktop_Qt_5_6_2_MSVC2013_32bit-Debug\debug\moc_unittest.cpp:160: error: C2664: “void UnitTest::tgtPositionReceived(QMap<quint8,Point>)”: 无法将参数 1 从“QMap<quint8,Point>”转换为“QMap<quint8,Point>” 源或目标有不完整类型. 错误原因 未包含QMap头文件
分类: 其他 发布时间: 06-25 17:35 阅读次数: 0

刷新托盘图标

struct AppData { HWND hwnd; UINT uID; }; void Refurbish(HWND hToolbarWindow32) { if (hToolbarWindow32) { DWORD pid = 0; LPVOID lngAdress = NULL; long lngButtonID = 0; LPVOID lngText = NULL; LPVOID lngRect = NULL; RECT rc = { 0 }; char strBuff[1024]
分类: 其他 发布时间: 06-25 17:34 阅读次数: 0

降权或升权启动应用

程序需要支持拖拽时,不能以管理员权限启动(低权限进程不能和高权限进程通信),这个时候需要降权后再启动应用。 具体实现: 1.首先获取explorer.exe进程的权限等级; 主要代码如下: 2.以explorer.exe进程的权限等级启动应用。 主要代码如下:
分类: 其他 发布时间: 06-25 17:34 阅读次数: 0

swift算法之排序:(四)堆排序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lin1109221208/article/details/90694015 1、概述 堆排序是指利用堆这种数据结构所设计的一种排序算法。 堆是一个近似完全二叉树,并同时满足堆积的性质:子节点的键值或索引总是大于/小于它的父结点。 堆又分为 大顶堆 和小顶堆,大顶堆的特点是 该完全二叉树的根节点比其左右节点都要大,小顶堆的特点是 在小顶堆中根节点比左右子节点的值都要小。 1)大顶堆 假设根节点的编
分类: 其他 发布时间: 06-25 17:33 阅读次数: 0

swift算法之排序:(五)归并排序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lin1109221208/article/details/90694062 1、概述 归并排序是建立在归并操作上的一种有效的排序研发,该算法主要是采用分治法(divide and conquer)的思想。 在归并排序中,需要将排序的数组进行拆分,将其拆分的足够小,当拆分的数组中只有一个元素时,则拆分的数组是有效的,然后将这些有序的数组进行两两合并,并在合并的过程中进行比较,合并生成的新数组仍然是
分类: 其他 发布时间: 06-25 17:33 阅读次数: 0

swift算法之排序:(六)快速排序(冒泡算法的改进版)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lin1109221208/article/details/90694078 1、概述 快速排序是对冒泡算法的一种改进。 快序排序的思想与归并排序类似,都是采用分而治之的方式进行排序,其基本思想是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的数据都比另一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过车过可以递归进行,直到整个数据有序。 2、算法原理 基本
分类: 其他 发布时间: 06-25 17:33 阅读次数: 0

swift算法之排序:(八)桶排序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lin1109221208/article/details/90694110 1、概述 桶排序的工作原理是将数组分到有限数量的桶子里,每个桶子再个别排序 即有可能使用别的排序算法/以递归方式继续使用桶排序。 2、算法原理 思想:将数组分到有限数量的桶里,然后寻访序列,并且把项目一个一个放到对应的桶子去,对每个不是空的桶子进行排序,最终将所有的桶合并 1、建桶 2、分桶 3、小桶排序 3、举例 对
分类: 其他 发布时间: 06-25 17:33 阅读次数: 0

swift算法之排序:(九)基数排序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lin1109221208/article/details/90694120 1、概述 基数排序属于分配式排序,又称 桶子法,他是透过键值的部分咨询,将要排序的元素分配至某些桶中,借以达到排序的作用。 基数排序是属于稳定性的排序 2、算法原理 基本原理:利用桶来实现,然后按照基数入桶,基数的取值是从数字的低位到高位以此取值 步骤: 1)以无序序列数值的个数为基数,将无序序列的值进入到基数对应的桶中
分类: 其他 发布时间: 06-25 17:32 阅读次数: 0

swift算法:搜索旋转排序数组

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lin1109221208/article/details/90902919 1、描述: 假设按照升序排序的数组在预先未知的某个点上进行了旋转。例如 :数组[0, 1, 2, 4, 5, 6, 7] 可能变为 [4, 5, 6, 7, 0, 1, 2]。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。 你可以假设数组中不存在重复元素,你的算法时间复杂度必须是O(lo
分类: 其他 发布时间: 06-25 17:32 阅读次数: 0

swift算法:字符串相乘

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lin1109221208/article/details/91389301 1、描述 给定两个以字符串形式表示的非负整数 num1 和 num2,返回num1 和 num2 的乘积,它们的乘积也表示为字符串形式 例1: 输入:num1 = "2", num2="3" 输出:"6" 例2: 输入:num1 = "123", num = "456" 输出:"56088" 说明: 1、num1 和 n
分类: 其他 发布时间: 06-25 17:32 阅读次数: 0

swift算法:全排列

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lin1109221208/article/details/91413356 1、描述 给定一个 没有重复 数字的序列,返回其所有可能的全排列 例:输入:[1, 2, 3] 输出:[ [1, 2, 3] , [1, 3, 2] , [2, 1, 3] , [2, 3, 1] , [3, 1, 2] , [3, 2, 1] ] 2、算法 利用回溯法探索求排列 什么是回溯法? 答:回溯法是一种通过探索
分类: 其他 发布时间: 06-25 17:32 阅读次数: 0

swift单元测试(一)基本概念

1、为什么要进行单元测试? 答:单元测试是为了避免你的app变成充满bug的软件,让我们在开发过程中能更好的发现缺陷,提高代码质量,也能保证在代码重构时及时发现改动带来的问题。 2、单元测试应该测什么? 答:1)核心功能:模型类和方法,以及它们和控制器的交互 2)最常用的UI操作 3)边际条件 4)bug修复 3、单元测试需要遵循的原则是什么? 答:FIRST原则--测试的最佳实践,遵循FIRST原则会让你的测试更加清晰有用 1)Fast:测试的运行速度要快,这样人们就不介意你运行它们 2)I
分类: 其他 发布时间: 06-25 17:31 阅读次数: 0