
QT
文章平均质量分 53
睡不着还起得早
从事软件开发数年,《程序员修炼之道》《人月神话》《JavaScript权威指南》《重构》《集体智慧编程》《HeadFirst设计模式》《EffectiveJava》》《JavaPerformance》《Java解惑》《HeadFirst面向对象的分析和设计》《ThinkinginJava》《Java核心技术(CoreJava)》《深入理解Java虚拟机》《数据结构和算法》《Android进阶指北》《Android进阶解密》《Android内核剖析》《最强Android书:架构大剖析》《Android系统源代码情景分析》《《高性能Android应用开发》《Android进阶之光》都没看过!
展开
-
QT QTableView 实现删除指定行,列表位置不变
【代码】QT QTableView 实现删除指定行,列表位置不变。原创 2024-12-30 14:25:39 · 170 阅读 · 0 评论 -
C++ QT 调用苹果支付或者订阅
3. 创建一个类来处理与苹果服务器的通信,并处理支付或订阅的结果。在C++ QT中调用苹果支付或订阅功能,需要使用苹果的In-App Purchase(IAP)功能。以下是一个简单的教程,演示如何在C++ QT中实现苹果支付或订阅功能。// 恢复购买成功,productIds为已购买的产品ID列表。// 解析返回的JSON数据。// 解析返回的JSON数据。// 解析购买的产品ID列表。// 处理恢复购买结果。// 添加应用的共享密钥。// 调用恢复购买方法。// 构建请求URL。// 构建请求URL。原创 2023-07-26 13:19:06 · 639 阅读 · 1 评论 -
C++ QT 将图片保存到SqlServer数据库
这个示例假设已经在 SQL Server 数据库中创建了一个名为 `images` 的表,其中包含两个列:`name` 和 `data`,分别用于存储图片的文件名和二进制数据。// 连接 SQL Server 数据库。// 将图片数据保存到数据库中。// 关闭数据库连接。原创 2023-06-12 09:45:44 · 4842 阅读 · 0 评论 -
C++ QT 上传图片至mysql数据库
在这个示例中,我们首先连接到MySQL数据库。然后,我们读取一个名为“image.png”的图片文件,并将其存储在一个QByteArray中。最后,我们将图片数据插入到名为“images”的表中,该表具有一个整数列“id”和一个BLOB列“data”。注意,这只是一个简单的示例,它假定您已经在MySQL中创建了一个名为“test”的数据库,并在其中创建了一个名为“images”的表。//将图片数据插入数据库。原创 2023-06-12 09:42:00 · 2319 阅读 · 0 评论 -
C++ QT MYSQL基操
QVariantList insertValues = {1, "张三", 20};以上代码仅供参考,实际使用时需要根据实际情况进行修改。// 连接MySQL数据库。// 关闭数据库连接。// 查询表字段名称。原创 2023-06-12 09:29:52 · 1363 阅读 · 0 评论 -
C++ QT读写Microsoft Word文档基操
在这个示例中,我们使用了`QAxObject`类来与Microsoft Word进行交互。`QAxObject`是QT中的一个ActiveX控件,可以用来与Windows应用程序进行交互。在`readWordDocument`函数中,我们打开了一个Word文档,遍历了文档中的所有段落,并打印了每个段落的文本内容。在`writeWordDocument`函数中,我们创建了一个新的Word文档,向其中插入了一段文本,并保存了文档。// 读取Word文档。// 写入Word文档。原创 2023-06-07 11:41:25 · 2378 阅读 · 1 评论 -
C++ QT QDateTimeEdit基操
这个示例中包含一个Date/Time Edit控件,它显示当前日期和时间。setDisplayFormat()方法设置了显示格式,setDateTime()方法设置了初始日期和时间。connect()方法用于连接dateTimeChanged信号和一个lambda表达式,该表达式在日期更新时被调用并输出日期和时间。最后,QWidget和QVBoxLayout被用来设置布局并显示控件。原创 2023-06-06 09:08:18 · 530 阅读 · 0 评论 -
C++ QT QSpinBox 基操
在上面的示例中,我们创建了一个QSpinBox对象,并设置了数字范围和默认值。然后,我们使用QObject::connect()函数将QSpinBox::valueChanged信号连接到一个Lambda函数中,以处理数值变化事件。以下是一个简单的示例,演示如何使用QT QSpinBox类创建一个数字调节框,并在其值发生变化时进行处理。qDebug() << "当前值:" << value;// 创建一个QSpinBox对象。// 连接信号槽,处理值变化事件。// 显示数字调节框。原创 2023-06-06 09:02:58 · 781 阅读 · 0 评论 -
C++ QT QTableWidget 基操
tableWidget->setVerticalHeaderLabels(QStringList() << "第一行" << "第二行" << "第三行" << "第四行");tableWidget->setHorizontalHeaderLabels(QStringList() << "姓名" << "年龄" << "性别");tableWidget->setItem(0, 2, new QTableWidgetItem("男"));// 设置表格的标题行和标题列。// 设置单元格属性。原创 2023-06-06 08:56:37 · 618 阅读 · 0 评论 -
C++ QT FTP基操
以上就是C++ QT实现FTP上传和下载的基本步骤。需要注意的是,FTP上传和下载需要有相应的权限,需要在FTP服务器上设置相应的用户和密码。同时,上传和下载的文件大小也受到FTP服务器的限制。FTP是一种文件传输协议,可以通过网络将文件从一个计算机传输到另一个计算机。在C++ QT中,可以使用QNetworkAccessManager类来实现FTP上传和下载。1. 创建QNetworkAccessManager对象。6. 设置上传文件的Content-Type。8. 将下载的数据写入本地文件。原创 2023-06-05 10:52:26 · 1533 阅读 · 0 评论 -
C++ QT国际化,动态切换语言
在QT项目中,我们可以通过添加语言文件来实现国际化。在项目中添加.qm文件,这个文件是由Qt Linguist生成的翻译文件,并且包含了所有需要翻译的字符串。在程序启动时,我们需要创建一个QTranslator对象,并将其加载到应用程序中。为了动态切换语言,我们需要在应用程序中提供一个机制来选择语言。当用户选择一个新的语言时,我们需要重新加载翻译文件,并更新应用程序的界面。这段代码会加载myapp_zh_CN.qm文件,并将其安装到应用程序中。这段代码会加载新的翻译文件,并将其安装到应用程序中。原创 2023-06-02 13:19:25 · 1193 阅读 · 0 评论 -
C++ QT 读写TXT文件基操
/ 处理每一行数据。原创 2023-06-02 09:25:33 · 2111 阅读 · 0 评论 -
C++ QT QThread基操
在quit函数中,线程会在执行完当前任务后退出。然后,我们使用QTimer::singleShot函数在5秒、10秒和15秒后分别调用MyThread::pause、MyThread::resume和QThread::quit函数,从而暂停、恢复和停止线程的执行。需要注意的是,在QThread的子类中使用sleep函数是不推荐的,应该使用QThread::msleep函数代替。3. 暂停线程:在线程任务中使用一个标志变量控制线程的执行,当标志变量为false时,线程任务会进入等待状态,从而实现线程的暂停。原创 2023-06-02 09:16:29 · 1894 阅读 · 0 评论 -
C++ QT 读写EXCEL表格基操
然后,我们打开指定的Excel文件,并选择要读写的工作表。接下来,我们使用QAxObject的querySubObject方法读取UsedRange,并确定其行数和列数。在写入Excel表格时,我们使用QAxObject的dynamicCall方法设置单元格的值,并使用dynamicCall方法保存工作簿。// 读取第一个工作表。要读写Excel表格,需要使用第三方库。请注意,当我们完成读写Excel表格后,需要调用Close()方法关闭工作簿,并调用Quit()方法退出Excel应用程序。原创 2023-06-01 09:24:14 · 1154 阅读 · 0 评论 -
C++ QT HOOK机制
【代码】C++ QT HOOK机制。原创 2023-05-31 09:12:33 · 1309 阅读 · 0 评论 -
C++ QT 异步之信号槽
QThread 是 QT 中用于多线程编程的类,它可以创建一个新的线程,并在该线程中执行指定的函数。槽函数则是与信号相关联的函数,当信号被触发时,与之相关联的槽函数会被执行。2. 在需要异步执行的地方,实例化该类的对象,并将其信号连接到需要执行的槽函数。这样,当信号被触发时,槽函数会在一个新的事件循环中被执行,从而实现异步执行。信号可以在需要异步执行的地方被触发,槽函数用于执行需要异步执行的操作。由于槽函数是在一个新的事件循环中被执行,因此可以在其中执行耗时的操作,而不会阻塞主线程。原创 2023-05-31 08:50:47 · 1853 阅读 · 0 评论 -
C++ QT QTcpSocket基操
当有新的连接请求时,我们使用 `nextPendingConnection()` 方法获取连接的 QTcpSocket 对象,然后分别连接了 `readyRead`、`disconnected` 和 `errorOccurred` 信号。当接收到数据时,我们使用 `readAll()` 方法读取数据,并打印出来。客户端使用 `connect()` 方法连接到服务器端,然后分别连接了 `connected`、`readyRead` 和 `errorOccurred` 信号。// 连接成功后发送数据。原创 2023-05-30 09:06:20 · 1259 阅读 · 0 评论 -
C++ QT QNetworkAccessManager 基操
此代码会发送一个 POST 请求到 httpbin.org,请求数据为 "key1=value1&key2=value2",获取响应并输出到控制台。注意,在发送 POST 请求时,需要设置请求头的 Content-Type 为 "application/x-www-form-urlencoded",并将请求数据转换为 QByteArray 类型。注意,在处理响应数据时,需要使用 reply->readAll() 方法将数据读取出来,否则无法获取到响应内容。原创 2023-05-30 08:56:46 · 1758 阅读 · 1 评论 -
C++ QT连接SQL Server基操
////////////////-------------------------------------------------------------------需要将`<server name>`、`<database name>`、`<user name>`和`<password>`替换为实际的值,以正确连接SQL Server数据库。`表示占位符,可以使用`addBindValue()`方法来设置占位符的值。在执行多个SQL语句时,需要在事务中执行,以确保这些SQL语句的原子性。原创 2023-05-29 08:05:45 · 1190 阅读 · 0 评论 -
C++ QT QUdpSocket基操
4. 使用readyRead()信号和readDatagram()函数接收UDP数据报文。3. 使用writeDatagram()函数发送UDP数据报文。1. 创建一个QT项目并添加一个UDP套接字。2. 绑定套接字到本地IP地址和端口号。原创 2023-05-29 08:05:23 · 1553 阅读 · 0 评论 -
C++ Qt Animation Framework 自定义动画
需要注意的是,QPropertyAnimation 类只能对 QObject 的属性进行动画处理,如果需要对 QWidget 进行动画处理,可以使用 QWidget 的 geometry、pos、size 等属性。需要注意的是,自定义动画类只是一个示例,实际上我们可以根据自己的需求来实现不同的动画效果。在这个例子中,我们将目标对象设置为一个 QWidget 对象,并将属性名称设置为 "geometry",表示对 QWidget 对象的位置和大小进行动画处理。然后设置动画的持续时间,并启动动画。原创 2023-05-26 10:17:28 · 1126 阅读 · 0 评论 -
C++ Qt Animation Framework基操
上述代码创建了一个 QLabel 对象,并且使用 QPropertyAnimation 类来定义一个动画效果,将 QLabel 对象从初始位置移动到终止位置。setDuration() 方法设置动画的持续时间,setStartValue() 和 setEndValue() 方法设置起始和终止位置。Qt Animation Framework ,该框架提供了一些预定义的动画效果,如淡入淡出、旋转、缩放等,并且可以自定义动画效果。最后,调用 start() 方法启动动画效果。原创 2023-05-26 09:25:26 · 1346 阅读 · 0 评论 -
C++ QT QDBus进阶用法。
在上面的代码中,我们使用了QDBus的对象模型,将一个C++对象转换为DBus对象,并注册到DBus连接中。在上面的代码中,我们使用了QDBus的错误处理机制,捕获DBus方法调用中的错误,并进行相应的处理。在上面的代码中,我们使用了QDBus的系统总线和会话总线,获取了两个DBus连接,并将一个C++对象注册到这两个DBus连接中。在上面的代码中,我们使用了QDBus的信号机制,将DBus对象的信号连接到一个槽函数中,并在DBus信号触发时执行相应的操作。还有更丰富的方法可以参照API!原创 2023-05-26 09:12:56 · 2039 阅读 · 0 评论 -
C++ QT QSerialPort基操
/ 设置DTR为高电平。原创 2023-05-25 13:40:24 · 2017 阅读 · 0 评论 -
C++ QT QLocalSocket/QLocalServer基操
在上面的代码中,我们创建了一个名为"myserver"的QLocalServer对象,并监听客户端连接。当客户端连接时,我们会接收到"newConnection"信号,并在回调函数中处理客户端连接。"的字符串给客户端,并关闭连接。在上面的代码中,我们连接了名为"myserver"的QLocalServer对象,并等待服务端发来的数据。在服务端进程中,需要创建一个QLocalServer对象,并监听客户端连接。在客户端进程中,需要连接服务端的QLocalServer对象,并发送请求。// 监听客户端连接。原创 2023-05-25 11:06:52 · 1589 阅读 · 0 评论 -
C++ QT QDBus基操
在上面的代码中,我们创建了一个名为"com.example.MyDBusService"的DBus服务,并注册了一个名为"/mydbus"的DBus对象,该对象继承自QObject,具有一个名为"hello"的方法。在上面的代码中,我们连接了名为"com.example.MyDBusService"的DBus服务,并调用了该服务中名为"/mydbus"的DBus对象的"hello"方法,输出结果为"Hello, world!在客户端进程中,需要连接DBus服务,并调用DBus对象的方法。原创 2023-05-25 11:01:36 · 1168 阅读 · 0 评论 -
QT QSerialPort异常断开监听
【代码】QT QSerialPort异常断开监听。原创 2022-08-30 13:58:33 · 2752 阅读 · 0 评论 -
SqlServer 保存文件,QT进行读取操作。
往数据库插入数据时,将txt文件上传至数据库中,喷码端读取后,逐条进行喷印。SQL SERVER采用filestream存储文件,存储文件保存在服务本地器磁盘中,同时在数据表work_order_table中,新增字段TraceCode存储追溯码文件数据,喷印端读TraceCode内容,还原处理后进行喷印使用。数据库添加文件组ALTER database yingkeadd filegroup MyFileStreamGroupcontains filestream配置文件组磁盘存放地址ALTER data原创 2022-07-08 17:47:12 · 1131 阅读 · 0 评论 -
QT Modbus 232通信笔记。
QT MODBUS 232通信原创 2022-06-29 16:27:31 · 1140 阅读 · 4 评论 -
Qt Modbus request timeout异常解决
问题: 1、项目中使用Modbus 232进行串口通讯,QT版本Qt 5.6.3,通讯过程中频繁的出现Modbus request timeout。 2、使用QModbusClient->sendWriteRequest发送长度为205的数据时,出现类似丢包的情况,发送不完整导致响应错误。解决办法: 1、将QT版本升级到Qt5.13.1时,发送数据过去没问题,但是无法相应数据,同时两次连续发送时第二次不生效, 2、将QT版本升级到Qt5.14及以后的版原创 2022-06-14 13:36:19 · 3671 阅读 · 0 评论 -
QT QModbus 232 报错Invalid Modbus request.
调用m_modbusClient->sendWriteRequest,出现Invalid Modbus request错误!原因:数据超长,源码中https://code.qt.io/cgit/qt/qtserialbus.git/tree/src/serialbus/qmodbuspdu.cpp最大长度限制252解决:调整数据长度进行处理 。......原创 2022-06-10 14:33:48 · 1603 阅读 · 1 评论 -
UpdateLayeredWindowIndirect failed for ptDst=(577, 205), size=(835x630), dirty=(864x630 -12, 0)
解决办法:界面设置阴影效果移至paintEvent中。原创 2021-12-31 11:13:00 · 1203 阅读 · 0 评论 -
QT 繁琐API记录
笔记原创 2021-12-29 11:20:20 · 478 阅读 · 1 评论 -
QT C++ QTableView 鼠标悬停显示单元格内容
QT C++ QTableView 鼠标悬停显示单元格内容原创 2021-12-21 09:35:17 · 1958 阅读 · 0 评论 -
QT C++ C:\Windows\SYSTEM32\ntdll.dll错误异常
QT C++ C:\Windows\SYSTEM32\ntdll.dll错误异常原创 2021-12-10 09:19:40 · 7253 阅读 · 7 评论 -
QTableView添加控件后,如何获取控件内容。
问题:通过ui->printAgeingTableView->setIndexWidget(standardItemModel->index(i, 5), interval);添加控件后,获取内容。获取内容方式,将控件还原为原对象,然后再去拿取,不能当做QStandardItem进行操作,否则无法拿到内容。((QLabel *)ui->printAgeingTableView->indexWidget(model->index(var,1)))-原创 2021-10-25 13:23:50 · 1698 阅读 · 3 评论 -
QT 捕获崩溃日志并定位代码块
1.生成dump文件这边参考博客中的源码地址,breakpaddemo不同编译环境可直接编译运行使用,可得到dmp文件2. dump调试(msvc)2.1 vs2010编译调试关键是原项目需要生成pdb文件,vs需要如下配置(偷图):项目->属性->C/C+±>General->Debug Information Format->Program Database项目->属性->C/C+±>Optimization->Optimizat转载 2021-09-06 11:25:32 · 3978 阅读 · 0 评论 -
QT 使用activeWindow,判断界面是否被遮盖
void HomeWindow::paintEvent(QPaintEvent *e){ QWidget *pActiveWindow = QApplication::activeWindow(); HomeWindow *pMainWindow = dynamic_cast<HomeWindow*>(pActiveWindow); if(pMainWindow && pMainWindow == this) { qDebug(.原创 2021-07-07 10:50:47 · 2466 阅读 · 2 评论 -
QT 使用Winpcap抓取Modbus Tcp通信内容
需求:项目中集成Modbus Tcp进行通信,需要显示实际收发内容。方案:通过集成Winpcap来抓取数据进行显示。流程: 1、首先下载WpdPack(Developer's pack),地址:https://www.winpcap.org/devel.htm 2、下载安装驱动,https://www.winpcap.org/install/default.htm。 3、将WpdPack中Include、Lib引入项目中,在.pro中配置...原创 2021-07-01 09:47:42 · 1220 阅读 · 1 评论 -
QT 两字节数组转int
QByteArray bytes;bytes [0] = 0x01;bytes [1] = 0x45;MAKEWORD(bytes[1], bytes[0]);//使用此方法获得原创 2020-03-28 14:19:16 · 1476 阅读 · 0 评论