- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 基于libmodbus实现文件传输功能
一、libmodbus 下载modbus官网下载git 下载modbus通信协议说明文档下载二、更改modbus.c和modbus.h文件。1、首先在modbus.h文件中增加读写文件记录的函数声明。//fileNumber 文件名//startRecordNumber 起始文件记录号//fileData 需要写入文件的数据//length 写入文件的数据长度MODBUS_API int modbus_write_file_record(modbus_t *
2022-05-25 16:13:28 3137 5
原创 plugin cannot be loaded for module “QtQuick.Controls“: Cannot load library
问题:编译会报如下错误,同时qml控件也显示不出来。解决方法:一、右键点击此电脑,打开属性。二、打开高级系统设置。三、打开环境变量。四、找到系统变量下的 QML2_IMPORT_PATH点击编辑五、将路径改为可用的qml路径,我这里改为我当前用到的5.15.2的qml路径,然后全部点击确定六、重启电脑。...
2022-02-22 17:20:05 1507 6
原创 QT Modbus ASSERT failure in processQueue: “response timer active“
问题:当我在QT中用modbus读取函数时,出现程序卡死的问题。现象:每次点读取有概率出现这个情况。主要代码如下: //mythread为子线程的类,必须的跨线程不然不会触发这个问题 connect(ui->pushButtonTest,&QPushButton::clicked,thread,&mythread::on_showMessage); connect(ui->pushButtonTest,&QPushButton::clicked,th
2021-10-27 18:44:07 1000 2
原创 QT小数点滑条实现
这里实现的为小数点后一位滑条。主要的思路是将小数扩大10倍,然后转换。只需在对应的槽函数进行转换即可。下面是效果图:下面是完整代码:#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QKeyEvent>namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECTpublic: explic
2021-10-18 16:44:23 1004
原创 QT利用交换机和多台设备通信
最近遇到了一个非常棘手的问题,在这里做一个记录。一、实现功能。1、一台电脑通过交换机和7台设备通信。2、使用TCP通信协议。3、我的电脑开7个线程,相当于开7个客户端去连接,7台服务器。4、7台设备依次改了7个不同的ip地址。二、现象。1、单独只连接一台时通信和连接都完全没有问题,可以正常通信。2、当连接多台时,会出现连接不上的问题,有时候要连好几次才能连上服务器。3、当同时连多台时,单台发送数据和异常的卡,基本会卡个3秒左右,多台同时发数据时,会出现随机设备直接卡掉线的情况(网络直接断开
2021-09-29 15:30:55 1473 4
原创 QT按回车后自动切换到下一个行编辑
界面图如下方法一、通过信号与槽的方式 connect(ui->lineEdit_1,SIGNAL(editingFinished()), ui->lineEdit_2,SLOT(setFocus())); connect(ui->lineEdit_2,SIGNAL(editingFinished()), ui->lineEdit_3,SLOT(setFocus()));void editingFinished()
2021-07-30 14:58:47 1826
原创 QT中16进制和10进制之间的转换
一、16转换为10进制。1、数字转换为字符串 quint8 Hex = 0x0F; QString num = QString("%1").arg(Hex,0,10); //QString num = QString::number(Hex,10);2、数字转换为数字 quint8 Hex = 0x0F; QString num = QString("%1").arg(Hex,0,10); //QString num = QString::n
2021-07-23 11:32:23 21098
原创 Qt信号发送过快,槽函数处理不过来解决方法
问题:跨线程使用信号与槽连接,信号的发送时间间隔小于槽函数处理的时间间隔,造成的问题。子线程下的槽函数,用sleep来模拟槽函数的耗时操作:void MyThread::myTimeout(){ qDebug() << "test"; QThread::sleep(2);}主线程下的信号发送函数,通过点击按钮来发送信号:void Widget::on_buttonStart_clicked(){ emit startThread();}线程之间的信
2021-06-01 19:17:55 15352
原创 删除数据库中重复的数据
假设我们的一个student表,其中有元素id、name、age。一般我们数据库中重复数据有两种情况。一:所以元素全部相同的情况。对于这种情况,我们可以用下面的命令,解决。select distinct * from student;二:部分元素相同的情况。现在假设我们需要删除name、age重复的元素,保留重复数据中的最小id。步骤一:找出name和age,都重复数据中的最小id元素。select min(id) id from student where name is not nu
2021-05-27 14:24:44 1697 1
原创 PhotoShop中合并形状颜色会变化的问题
记录一下PhotoShop学习过程中遇到的问题和解决方法。一:问题1、下面是设计好的由单个图形组成的画面。2、现在选中这三个图形,选择合并形状,我们来看一下效果。这个时候所有合并的图片颜色,都会变为最上层的图片颜色。二:解决方法(创建组)1、在图层界面这里右击,选择从图层建立组,然后给组取一个名字。2、现在把其他的需要合并的图形都拖到这个组里面来。然后我们在创建的组这里右击,选择合并组。这里是成功后的状态。三:解决方法(栅格化图层)1、这里右键图层,选择栅格化图层。2、然
2021-04-22 19:00:01 6750
原创 moc_qextserialport.cpp:no such file or directory
记录一下最近遇到的问题。这个是编译自动生成的文件,之前还是能够编译通过的。最近更新了QT的版本后,再编译就会报错。这种情况只需要删除掉工程目录下的debug和release中的文件,然后全部重新编译一次即可。...
2021-04-16 11:23:49 934 1
原创 QT创建子项目.pri文件
**QT创建子项目.pri文件**在我们做大项目的时候,往往会有很多的.h和.cpp,这个时候就会需要多个子项目。下面是子项目的创建过程:第一步:先创建一个项目文件,创建的步骤我这里就不说了。第二步:找到工程目录文件夹,下面是刚创建好的文件内容。第三步:直接在这里创建一个子项目的文件夹,然后在文件夹中间新建一个.pri文件,如下。第四步:用QT打开我们的工程文件,找到demo.pro文件。这时候我们的工程下是没有刚才创建的两个文件的。然后我们在demo.pro文件下增加上图中的两
2021-04-12 13:14:37 663
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人