Qt killtimer 析构函数 Error: timer id is not valid for object timer has not been killed
摘要:析构函数中不能用KillTimer, 原因:在析构函数中窗口已经不存在,所以KillTimer函数已经没有了窗口句柄,当然会出错 1 A::~A() 2 { 3 killTimer(timerId); 4 }
阅读全文
posted @
2024-03-14 14:24
一杯清酒邀明月
阅读(251)
推荐(0) 编辑
Qt 报错: QWidget: Must construct a QApplication before a QWidget
摘要:最近遇到一个问题,程序编译时出现报错: Must construct a QApplication before a QWidget。我的main.cpp有这样的代码 1 int main(int argc, char *argv[]) 2 { 3 QApplication a(argc, argv
阅读全文
posted @
2024-03-14 13:56
一杯清酒邀明月
阅读(91)
推荐(0) 编辑
Qt QWidget: Must construct a QApplication before a QWidget
摘要:在使用UI的 qwidget之前都必须先构造一个QApplication实例,这是断言的意思。 错误的可能是在哪个类中采彩用了静态的(static)的qwidge域或其子类,因为静态和全局对象进入main函数之前就产生了,所以早于main函数里的qapplication日对象,所以出现了此断言错误。
阅读全文
posted @
2024-03-14 13:55
一杯清酒邀明月
阅读(533)
推荐(0) 编辑
Qt QToolBox 的常用方法
摘要:在界面上拉一个 Tool Box 控件,和三个按钮控件: 代码如下: 1 #include "widget.h" 2 #include "ui_widget.h" 3 #include <QGroupBox> 4 #include <QDebug> 5 #include <QMessageBox>
阅读全文
posted @
2024-03-14 13:43
一杯清酒邀明月
阅读(387)
推荐(0) 编辑
Qt QToolBox tab 文字居中
摘要:背景: 在利用QToolBox实现一个简单的抽屉控件 / 导航控件时,发现QToolBox::tab的标题总是居左。尝试使用text-align属性、subcontrol-xxx属性都不起作用。 解决办法: 利用padding属性进行"硬编码"。 代码片段如下: 1 //当前窗口的宽度,其中 2 /
阅读全文
posted @
2024-03-14 11:57
一杯清酒邀明月
阅读(143)
推荐(0) 编辑
Qt5.12配置OpenCV教程
摘要:在开发图像处理和计算机视觉应用时,QT和OpenCV是两个不可或缺的工具。QT为我们提供了丰富的图形界面设计功能,而OpenCV则提供了强大的图像处理算法。那么,如何将这两者完美结合呢?本文将为你详细解析QT5.12与OpenCV的配置过程,让你轻松上手! 一、软件下载 1、QT 5.12.9 下载
阅读全文
posted @
2024-03-13 13:02
一杯清酒邀明月
阅读(4937)
推荐(1) 编辑
Qt 大小端字节序的处理
摘要:1、Endian Order 什么是大小端字节序(Endian Order)?以四字节十六进制整型数0x12345678为例,按照书写习惯,从左到右,高位在前,低位在后,我们称0x12为最高有效字节,0x78为最低有效字节,在存储这个数字时,需要四字节的地址空间,比如说从0x00到0x03,地址空间
阅读全文
posted @
2024-03-13 09:15
一杯清酒邀明月
阅读(408)
推荐(0) 编辑
Qt 数据流QDataStream大少端设置
摘要:1 //大端格式,高字节在前 2 QDataStream out(&outData,QIODevice::ReadWrite); 3 out.setByteOrder(QDataStream::BigEndian); 4 5 6 //小端格式,低字节在前 7 QDataStream out(&out
阅读全文
posted @
2024-03-13 09:08
一杯清酒邀明月
阅读(210)
推荐(0) 编辑
Qt QTextStream 类(文本流)和 QDataStream 类(数据流)
摘要:一、二者区别 (1)QTextStream 类:用于对数据进行文本格式的读/写操作,可在 QString、QIODevice或 QByteArray 上运行,比如把数据输出到 QString、QIODevice 或 QByteArray 对象上,或进行相反的操作。 (2)QDataStream 类:
阅读全文
posted @
2024-03-13 09:07
一杯清酒邀明月
阅读(849)
推荐(0) 编辑
Qt 大端模式、小端模式及其转换
摘要:大端模式和小端模式是计算机中经常涉及到的两种字节序,也有大端对齐、小端对齐、大尾、小尾等叫法。 一、起源 说起这两种模式,就不得不提一下大端(Big-endian)和小端(Little-endian)这两个英文上的起源。 “endian”一词来源于乔纳森·斯威夫特的小说格列佛游记。Lilliput和
阅读全文
posted @
2024-03-13 09:00
一杯清酒邀明月
阅读(621)
推荐(0) 编辑
Qt QByteArray与int、float、vector互转
摘要:QByteArray的转换一般在串口通信中常用,将int、float、double转换为4个字节的数组(如255 -> [0,0,0,255],本文章一律用10进制表示),或将4个字节的数组转换为int、float、double(如[0,0,0,255] -> 255)。在QT界面中的使用流程,笔者
阅读全文
posted @
2024-03-12 17:11
一杯清酒邀明月
阅读(2072)
推荐(0) 编辑
Qt QTextEdit添加文字的方式
摘要:1.append 添加方式,在文本内容后面添加新的文本内容 2.insertText添加方式,可以在textEdit的任何方式添加文本 效果和代码 1 #include "widget.h" 2 #include "ui_widget.h" 3 #include <QPalette> 4 #incl
阅读全文
posted @
2024-03-12 15:23
一杯清酒邀明月
阅读(671)
推荐(0) 编辑
Qt 十六进制与浮点数相互转换
摘要:浮点数转十六进制 1 QString strFloat = ui.float_six1->text(); 2 float f = strFloat.toFloat(); 3 int i = *((int *)&f); 4 QString float_str = QString("%1").arg(i
阅读全文
posted @
2024-03-12 14:11
一杯清酒邀明月
阅读(662)
推荐(0) 编辑
Qt float和QByteArray相互转换
摘要:核心:使用C++的memcpy()函数。 QByteArray转化为float数组 1 QByteArray testArraySe; 2 float testArrayRe[10]; 3 memcpy(&testArrayRe, testArraySe, sizeof(testArrayRe));
阅读全文
posted @
2024-03-12 14:11
一杯清酒邀明月
阅读(243)
推荐(0) 编辑
Qt quint16 高低字节 quint8
摘要:在C++中,将一个quint16(即无符号16位整数)拆分成高字节和低字节可以通过位运算来完成。quint16通常是通过Qt的数据类型quint16来表示的。 以下是一个示例代码,演示如何将quint16拆分成高低字节: 1 #include <QtGlobal> 2 #include <iostr
阅读全文
posted @
2024-03-12 09:41
一杯清酒邀明月
阅读(489)
推荐(0) 编辑
Qt 常用数据类型转换
摘要:1、int转QString quint8转QString 1 quint8 k = 77; 2 QString str_1; 3 str_1 = QString::number(k, 10); 4 qDebug() << str_1; // "77" 5 QString str_2 = QStrin
阅读全文
posted @
2024-03-11 19:30
一杯清酒邀明月
阅读(427)
推荐(0) 编辑
Qt 将16进制的内容的QString字符串转为QByteArray数组
摘要:1.QString存储十六进制内容 我要发送的十六进制内容是 01 05 04 01 00将其储存在QString字符串中 1 QString str; 2 str = "0105040100"; 2.核心语句 将两位的字符串转换为16进制的Int型数字,然后通过强制类型转换成char类型的字符。(
阅读全文
posted @
2024-03-11 19:27
一杯清酒邀明月
阅读(880)
推荐(0) 编辑
Qt 使用第三方libmodbus库实现Modbus通讯
摘要:之前发表的Modbus通讯程序使用了QT自带的Modbus库,由于QT自带库的数据响应使用的是信号和槽来实现的,所以在一些读写频率较高的场景下,会引发很多异常问题,此篇文章使用C语言写的第三方Modbus库来实现modbus通讯。 经程序运行测试,调用该库进行modbus通讯完虐QT自带mosbus
阅读全文
posted @
2024-03-09 15:38
一杯清酒邀明月
阅读(3036)
推荐(1) 编辑
Qt ModbusTCP通讯
摘要:前言 Modbus在工业控制中的应用非常多,由于其免费使用加上一定的历史环境,Modbus在PLC上的通讯应用非常多,本文主要介绍Mosbus TCP master(主站)的实现。 一、关于Modbus Modbus是由MODICON公司开发的一种工业现场总线协议标准,随后施耐德推出了基于TCP/I
阅读全文
posted @
2024-03-09 15:32
一杯清酒邀明月
阅读(1944)
推荐(0) 编辑
Qt 基于QTcpSocket的ModbusTCP协议
摘要:一、编写缘由1.发现问题 最近项目上要把之前的modbus RTU改为TCP形式,因此之前的modbus通讯线程得重构,一开始当然是使用Qt自带的QModbusTcpClient类,很快就重构好线程,读取数据没有问题,但是只要一发送写数据请求,整个tcp连接就会断开,做了很多尝试,排除了从站的问题,
阅读全文
posted @
2024-03-09 15:27
一杯清酒邀明月
阅读(760)
推荐(0) 编辑