QT/C++
QT应用实战和技巧总结
ydyuse
喜好编程,熟悉C++,C#,JAVA,PASCAL等。从事应用软件开发,软件开发培训,网络应用,电力系统应用等。
展开
-
添加槽函数出现no documents matching “ui_xxx.h“
添加槽函数出现no documents matching "ui_xxx.h"在qt creator下添加槽函数出现no documents matching "ui_xxx.h",不能添加信号和槽,错误提示如下:找了网上的方法,比如先项目清除,然后重建不行 重启qtcreator也还是不行,试了多种方法都不行。偶然发现头文件包含中有这个告警提示:warning: non-portable path to file '"frmdeviceController.h"';..原创 2021-01-01 10:22:59 · 6621 阅读 · 5 评论 -
QTreeWidget中的复选框及三态使用
QTreeWidget中的复选框及三态:勾选,未勾选,半勾选使用在树形结构中有时候需要在每项前添加复选框,QTreeWidgetItem的复选框可以通过setCheckState(int column,Qt::CheckState state)方法调出。勾选状态的改变,通过itemChanged(QTreeWidgetItem *item,int column)信号触发。connect(ui->treeWidget,&QTreeWidget::itemChanged,this.原创 2020-12-15 13:07:38 · 8126 阅读 · 3 评论 -
qLabel 字体大小不受控制
一个界面中布局后,qLabel 字体大小不受控制,即使按如下方法设置也不行。 ui->labPageCurrent->setFont(QFont("Arial", 10));或者: QFont font ("Arial", 10, 75); //第一个属性是字体,第二个是大小,第三个是加粗(权重是75) ui->labPageCurrent->setFont(font);如下图最终解决方法:在styleSheet中加样式:Q.原创 2020-12-01 08:57:09 · 3249 阅读 · 0 评论 -
QModbusTcpClient接收值转为浮点数的方法
QModbusTcpClient接收值转为浮点数的方法//ModbusRTU格式的2个32位整数转浮点数2020-8-17 高位为x1Float parseInt2Float(int x1, int x2) { int f, fRest, exponent, exponentRest; float value, weishu; f = x1 / 32768; fRest = x1 % 32768; exponent = fRest / 128;...原创 2020-10-24 07:52:15 · 1701 阅读 · 0 评论 -
QT报表Limereport v1.5.35编译及使用
QT报表(2)Limereport v1.5.35编译及使用实例代码原创 2020-07-06 10:22:52 · 4665 阅读 · 5 评论 -
QT控件setToolTip后禁止显示ToolTip代码示例
一个widget设置一个不变的tooltip文本,当鼠标移上去时显示tooltip,只需调用widget的setToolTip()设置文本即可。有时我们设置了ToolTip,但并不需要显示,QT并没有直接的方法,需要在EVENT事件中自己判断并处理。原创 2020-08-01 14:47:52 · 3989 阅读 · 0 评论 -
QListWidget从数据库循环加项目,同时默认选中某一行代码示例
列表控件QListWidge主要是通过包含一系列的QListWidgeItem项来进行显示,换句话说,列表控件QListWidge是QListWidgeItem项的集合。其中,列表控件QListWidge包含QListWidgeItem项主要用到函数void QListWidget:: insertItem(int row, QListWidgetItem *item);代码演示从数据库循环加Item和添加自定义Item。同时设置最后一行默认选中。原创 2020-06-08 08:10:13 · 3433 阅读 · 0 评论 -
QStackedWidget添加,切换及删除窗口
QStackedWidget可以实现同一界面切换不同的窗口,直接切换就可以显示不同子窗口的内容,可用于创建类似于QTabWidget提供的用户界面。QStackedWidget添加,切换及删除窗口代码示例。原创 2020-07-01 08:25:52 · 13180 阅读 · 5 评论 -
QT报表选型(QT报表系列1)
QT报表选型:QT中目前的主流报表框架:NCReport ,CuteReport,QtRPT,LimeReport等,由于NCReport 现在是商业版本,CuteReport,从2017年后就没再更新,所以我们重点介绍QtRPT和LimeReport这两个。原创 2020-06-01 10:04:49 · 8180 阅读 · 0 评论 -
QSqlQuery内存问题分析及解决
在关闭数据库之前,必须使用QSqlQuery.finish()或QSqlQuery.clear。否则,Query对象中会遗漏剩余内存。线程中使用的QSqlQuery需要提升为类成员。创建QSqlQuery变量作为指针,并在关闭数据库之前删除此指针原创 2020-05-18 08:39:53 · 6460 阅读 · 3 评论 -
QCHART多坐标轴使用示例
QCHART多坐标轴和时间轴使用示例代码原创 2020-05-12 13:36:19 · 4999 阅读 · 0 评论 -
QCHART的几种坐标轴的详细介绍及使用代码示例
QCHART的几种坐标轴的详细介绍及使用代码示例QCHART主要有如下几种坐标轴:QAbstractAxis->QBarCategoryAxis:柱状图坐标轴文字QAbstractAxis->QDateTimeAxis:日期坐标轴QAbstractAxis->QLogValueAxis(对数做标轴)QAbstractAxis->QValueAxis(设置坐标轴范围)->QCategoryAxis(文字描述坐标轴)原创 2020-05-04 08:36:59 · 12801 阅读 · 3 评论 -
QT时间差计算的两种方法代码(技巧系列17)
QT时间差计算的两种方法startTime.secsTo(endTime)startTime.msecsTo(endTime)endTime.toTime_t() - startTime.toTime_t()原创 2020-05-11 09:15:01 · 11778 阅读 · 0 评论 -
QTabWidget隐藏某个TAB的方法(QT技巧系列16)
QTabWidget隐藏某个TAB的方法(QT技巧系列16)QTabWidget 中的tab,采用hide(),close(),setHidden(true),setVisible(false)等方式都无法隐藏tab。可以通过以下方式隐藏。ui->tabWidget->removeTab(0); //0表示除去第0个TAB。如要不显示多个TAB,序号需要从大到小。...原创 2020-05-05 09:30:41 · 12014 阅读 · 3 评论 -
Qt 串口通信(QSerialPort)16进制收发实例代码(QT实战5)
Qt 串口通信(QSerialPort)16进制收发实例代码 首先在项目文件里面添加一句 QT += serialport使用静态函数生成QSerialPortInfo对象列表。列表中的每个QSerialPortInfo对象表示一个串行端口,可以查询端口名称、系统位置、描述和制造商。QSerialPortInfo类还可以用作QSerialPort类的s...原创 2020-04-14 08:12:29 · 11304 阅读 · 2 评论 -
CRC-16原理及通用的16位CRC校验算法代码
CRC-16原理及通用的16位CRC校验算法代码环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC。它是利用除法及余数的原理来作错误侦测(Error Detecting)的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。给出查表算法代码和通用的16位CRC校验算法代码供参考。原创 2020-07-14 10:49:10 · 42586 阅读 · 10 评论 -
QModbusTcpClient接收值转为有符号整数的方法(QT技巧系列14)
QT技巧系列(14)QModbusTcpClient接收值转为有符号整数的方法unit.value(0) 的值默认是无符号整数quint16,如果要取得负数,只需要做个转换就行了。Qint16 S0 = static...原创 2020-04-08 08:09:45 · 2811 阅读 · 0 评论 -
connect统一绑定信号的槽函数告警提示解决(QT技巧系列15)
QT技巧系列(15) connect统一绑定信号的槽函数告警提示 QMetaObject::connectSlotsByName: No matching signal for。。。界面上多个QCheckBox控件,统一绑定事件,代码如下: QList<QCheckBox *> cbBox = this->findChildren&l...原创 2020-05-02 08:30:27 · 2492 阅读 · 0 评论 -
QT技巧系列(13)QT 数据库日期字段显示带“T”字符的解决
解决QT数据库中日期字段中会写入或显示时出现“T”字符的问题。原创 2020-04-06 08:05:33 · 3913 阅读 · 0 评论 -
QT技巧系列(12)qwtplot3D各部分颜色设置代码
QT技巧系列(12)qwtplot3D各部分颜色设置代码//白底黑字 const RGBA axc = RGBA(0,0,0,1); const RGBA bgc = RGBA(1.0,1.0,1.0,1.0); const RGBA msc = RGBA(0,0,0,1); const RGBA nuc = RGBA(0,0,0,1);...原创 2020-03-25 10:30:21 · 3103 阅读 · 0 评论 -
QT技巧系列(11)常用数据类型转换函数代码大全
整理常用的QT/C++几十个数据格式转换的函数,后续逐渐补充,作为备忘,供需要的时候参考。原创 2020-03-13 11:23:35 · 2344 阅读 · 0 评论 -
QT技巧系列(10) 批量处理或遍历页面控件示例代码
批量处理或遍历QT UI页面控件示例代码1、遍历页面控件2、循环访问一组名称类似的控件3、批量设置页面控件的处理事件原创 2020-03-04 07:59:26 · 3980 阅读 · 0 评论 -
QT技巧系列(9)QModbusTcpClient客户端程序示例及代码
QT技巧系列(9)QModbusTcpClient使用Modbus Tcp客户端程序示例及代码 本文详细介绍了采用QModbusTcpClient类作为MODBUS客户端程序的主要过程和主要函数,供大家参考。包含文件:#include <QModbusDataUnit>#include <QModbusTcpClient>#include &...原创 2020-03-02 08:43:55 · 11417 阅读 · 5 评论 -
QT技巧系列(8) QModbus发送汉字字符串的方法
QT技巧系列(8) QMODBUS发送汉字字符串的方法Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信...原创 2020-02-28 07:13:34 · 4505 阅读 · 0 评论 -
QT技巧系列(7)QCustomPlot清除已绘制的多个图形的代码
QT技巧系列(7)QCustomPlot清除已绘制的多个图形代码QCustomPlot是一个基于Qt的画图和数据可视化C++控件。QCustomPlot致力于提供美观的界面,高质量的2D画图、图画和图表,同时为实时数据可视化应用提供良好的解决方案。 //ui->customPlot->clearGraphs(); //请清除所有 for...原创 2020-02-27 11:29:43 · 10876 阅读 · 4 评论 -
QT技巧系列(6)QCustomPlot横坐标轴设置为时间轴的代码
QT技巧系列(6)QCustomPlot横坐标轴设置为时间轴的代码QCustomPlot 是一个基于Qt的画图和数据可视化C++控件。QCustomPlot 致力于提供美观的界面,高质量的2D画图、图画和图表,同时为实时数据可视化应用提供良好的解决方案。ui->customPlot->setBackground(QBrush(Qt::black));...原创 2020-02-27 09:12:37 · 14234 阅读 · 6 评论 -
QT技巧系列(5)按时间顺序列出目录下所有的文件名
QT技巧系列(5)按时间顺序列出目录下所有的文件名包含文件#include <qstringlistmodel.h>#include <qdir.h>实际代码:void MainWindow::on_pushButton_listfile_clicked(){ int i,j...原创 2020-02-26 15:35:10 · 8095 阅读 · 0 评论 -
QT技巧系列(4)定时删除某目录下几天前的文件
QT技巧系列(4)定时删除某目录下几天前的文件采用递归和QDir实现文件夹下所有文件遍历的方法,然后判断文件日期并进行相应的处理。#include <QDir>//******//传入某个文件目录 "D:/wavelog/"//******//Qt实现遍历文件夹和文件目录(递归)static in...原创 2020-02-26 14:35:09 · 5103 阅读 · 0 评论 -
QT技巧系列(3)QCustomPlot各部分颜色设置代码
QT技巧系列(3)QCustomPlot颜色设置 QCustomPlot 是一个基于Qt的画图和数据可视化C++控件。QCustomPlot 致力于提供美观的界面,高质量的2D画图、图画和图表,同时为实时数据可视化应用提供良好的解决方案。当QCustomPlot显示在有背景的窗体时,需要修改默认的一些...原创 2020-02-26 08:41:34 · 10439 阅读 · 3 评论 -
QT技巧系列(2)QT中数据库保存的以秒为单位的时间秒转换成日期格式示例及代码
QT中将数据库中保存的以秒为单位的时间转换成日期格式QDateTime显示示例及代码,主要用到函数toTime_t() ,fromTime_t(uint seconds)等。原创 2020-02-25 09:49:20 · 6437 阅读 · 0 评论 -
QT技巧系列(1)QDateEdit和QTimeEdit赋值方法
QT技巧系列(1)QDateEdit和QTimeEdit赋值方法使用QDateEdit时,如果不设置日期,则系统会为其指定一个默认的日期:2000年1月1日。使用QTimeEdit时,如果不设置时间,则系统会为其指定一个默认的时间:0时0分0秒。所以,我们一般都会指定一个合适的日期和时间(当前日期时间)。下面用代码说明两种赋值方法。仅...原创 2020-02-24 20:07:21 · 9737 阅读 · 0 评论