QtCreator
spic_jackmaster
工作变动,博客断更。
展开
-
QT 开发openSSL CSR证书请求工具
QT构建的证书请求工具GUI,基于OpenSSL库。创建RSA私钥,公钥,并根据私钥生成CSR请求文件,提供给证书颁发机构。原创 2022-02-21 20:32:49 · 1056 阅读 · 0 评论 -
QT Openssl no OPENSSL_Applink 解决
QT5.15.2安装时候选择了openssl1.1.1库,在开发过程中出现OPENSSL_Applink。解决办法:将openssl include文件下的applink.c 添加到工程中,即可。原创 2022-02-17 12:57:26 · 1534 阅读 · 1 评论 -
Qt 调用VISA库通过SCPI程控仪器-以IT8906A电子负载为例
SCPI是一种可编程仪器的标准命令,可通过 GPIB, RS232, USB, LAN接口等控制仪器功能的编程语言。 SCPI 置于 IEEE 488.2 硬件部分的顶层。相同 SCPI 命令和参数控制着不同机器的相同功能。一般标准仪器都支持SCPI协议,如示波器、台式万用表、频率计、矢量分析仪、电子负载、台式电源等。通过SCPI协议与设备通信,实现自动化测试。本篇博文以电子负载为例,在Qt 框架下编写程控通信Demo。一、运行环境window 10 Qt 5.15.2, 64位MinGW编译器.原创 2021-12-27 12:11:12 · 10153 阅读 · 7 评论 -
Qt 调用MATLAB引擎混合编程
本文介绍了QT如何调用MATLAB计算引擎,包括详细的环境配置步骤。原创 2021-12-02 18:31:22 · 10997 阅读 · 18 评论 -
Qt 调用Python引擎混合编程
0、前言使用Qt和Python做混合编程,充分发挥Qt GUI的图形化框架优势和Python数据处理的计算能力。复杂的计算可用到Python众多三方库,将Python需要执行的功能写成py文件,做成插件的形式,被Qt c++调用,修改py文件即可实现一套GUI框架多种内核算法的效果。本文使用Qt调用Python三方库做多高维数据MDS降维计算。1、运行环境以下测试在windows10主机测试成功。需要注意Qt的位数需要和Python的位数一致。Qt 5.12.0 32bit,MinGW-32原创 2021-12-02 15:51:20 · 5072 阅读 · 0 评论 -
Qt6.2.1使用clang格式化代码
Qt6.2.1使用clang格式化代码,提高代码可读性,提高团队协作效率。原创 2021-12-02 11:04:21 · 1585 阅读 · 0 评论 -
Qt6.2.1在线安装教程
图文并茂介绍如何在线安装Qt6.2.1。原创 2021-12-02 10:34:02 · 4742 阅读 · 2 评论 -
Qt treeWidget 查找指定字段内容的条目并跳转到该条目
遍历Qt treeWidget,查找指定字段内容的条目,并跳转到该条目。void MainWindow::on_pushButton_sidFind_clicked(){ QString sid = ui->lineEdit_sidFind->text(); QTreeWidgetItemIterator it(ui->treeWidget_sqItem); while (*it) { if ((*it)->text(0).contai原创 2021-11-11 12:36:45 · 1829 阅读 · 0 评论 -
Qt定时器的精度问题
一、场景一个网络音频采集场景如下:数据发送端:嵌入式设备按照16kHz 16Bit连续不断采集音频数据,通过Socket进行发送数据接受端:QT上位机开一个tcpserver,数据readReady后由QByteArray进行追加,音频波形显示开了一个定时器,每100ms去取QByteArray指定长度(16K*0.1*2),并remove该数据。打印结果发现,QByteArray的数据越来越多,说明接受数据和取数据的速度没匹配。日志:二、分析数据发送端是用的实时系统,音频采原创 2021-06-04 17:36:57 · 3184 阅读 · 0 评论 -
中移M5310A NBIoT模组通信测试命令
总结一下中移M5310A NBIoT模组的常用测试命令,这个命令是个脚本,可以编辑,在自己开发的串口软件上可用,有需要的请留言。一、开机检测二、连接、信号和状态查询三、CDP服务器四、注册与模式设置五、设置pdp六、设置TCP连接七、设置UDP连接八、设置MQTT连接...原创 2021-05-18 16:19:21 · 1525 阅读 · 5 评论 -
Qt ModbusTCP ModbusRTU 使用同步读和异步写
一、寄存器说明Modbus寄存器的操作包括读写和只读。具体如下: enum RegisterType { Invalid, DiscreteInputs, Coils, InputRegisters, HoldingRegisters };分别叫做:离散输入寄存器(只读,通常为开关量输入) 线圈寄存器(读写,一般为继电器的控制) 输入寄存器(只读,一般为模拟量输入) 保持寄存器(读写,一般状原创 2021-05-12 12:25:33 · 5311 阅读 · 2 评论 -
Qt 按钮菜单
settingMenu = new QMenu;updateAction = new QAction(settingMenu);updateAction->setText("更新");authenAction = new QAction(settingMenu);authenAction->setText("认证");aboutAction = new QAction(settingMenu);aboutAction->setText("关于");settingMe.原创 2021-04-28 11:15:49 · 834 阅读 · 1 评论 -
Qt 生成bin文件
QFile file("flash_data.bin"); //定义一个文件file.open(QIODevice::WriteOnly); //打开文件QDataStream ds(&file); //定义一个数据流for (int idx = 0; idx < 8192; ++i){ ds << (uint8_t)data[i]; //把数组中的数据写到数据流,即写入文件中}file.close();..原创 2021-04-28 11:03:54 · 2662 阅读 · 0 评论 -
QT 多屏参数获取和设置
1、获取屏幕参数 QList<QScreen *> screen_list= QGuiApplication::screens(); for(int i=0;i<screen_list.count();i++) { qDebug()<<screen_list.at(i)->size(); //屏幕的像素分辨率 qDebug()<<screen_list.at(i)->av原创 2021-03-18 16:43:58 · 1273 阅读 · 0 评论 -
Qt 编写应用程序升级的配置文件json 生成工具
通过此工具将需要更新的应用程序和相关目录下的依赖文件配置成json格式的升级文件,客户端版本监控软件通过读取此json文件,对比相应字段,实现自动拉取文件,从而保证客户端应用程序自动更新。此json文件放在待升级的exe同级目录下即可。...原创 2021-02-01 21:24:59 · 426 阅读 · 0 评论 -
Qt MQTT使用
一、创建对象并绑定信号槽m_client = new QMqttClient(this);connect(m_client, &QMqttClient::stateChanged, this, &MainWindow::updateLogStateChange);connect(m_client, &QMqttClient::disconnected, this, &MainWindow::brokerDisconnected);connect(m_client,原创 2020-12-28 17:37:27 · 3362 阅读 · 3 评论 -
Qt编写的线损分析工具
原创 2020-12-18 10:18:56 · 330 阅读 · 1 评论 -
最近写的一个qt应用软件
原创 2020-11-20 15:18:36 · 225 阅读 · 0 评论 -
Qt多线程编程的主要线程类
1、描述Qt提供QThread类处理多线程,继承自QObject。不受平台影响,实现跨平台功能。2、主要的线程类QAtomicInt:提供Interger与平台无关的Atomic运算,即提供了整数常用的原子操作,支持四种类型的操作。支持四种类型的操作,Relaxed、Acquired、Release、Ordered。 QAtomicPointer:提供指针上原子运算的模板类。 QF...原创 2020-04-15 15:09:35 · 664 阅读 · 0 评论 -
Qt主要的容器类
1、描述容器和迭代器类提供修改、删除、插入、保存数据和遍历等功能,Qt包含的容器类比STL更加简单和安全。2、常用的容器QList<T>:使用数据间的索引可以访问数据,储存特定类型。 QLinkedList<T>:使用迭代器访问数据,而非基于整数的索引,对于已有的大量数据中插入数据比QList快。 QVector<T>:相临近内存的位置存储特定类...原创 2020-04-15 14:33:08 · 314 阅读 · 0 评论 -
多功能串口调试工具
自己编写的一个超强的多功能串口调试工具。特性如下:串口自动识别,定时刷新,热插拔管理 设置串口数据帧超时时长 自定义背景、收发字体大小和颜色 接收、发送字节计数 文件发送、HEX、ASCII发送 显示接收发送时间、标志、报文头 日志保存、控制台参数保存 循环发送 脚本发送 任意增加、删除和修改脚本 加载脚本 脚本启用、设置延时、设置顺序、循环发送、排序发送...原创 2020-04-03 11:06:52 · 1434 阅读 · 2 评论 -
Qt 解决 #error This file requires compiler and library support for the ISO C++ 2011 standard
一、Qt编译过程中,出现以下问题#error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++...原创 2020-02-28 10:47:00 · 11523 阅读 · 2 评论 -
Qt MQTT安装步骤记录
QT中的MQTT作为第三方库需要自己安装才能使用,以下简单记录方法。一、下载MQTT源码编译成连接库github地址:https://github.com/qt/qtmqtt二、新建QtMqtt文件夹并拷贝MQTT头文件2.1 在mingw53_32\include中新建QtMqtt文件夹2.2 拷贝源码中的所有头文件解压github下载的mqtt源码,进入到sr...原创 2020-02-28 09:52:36 · 3971 阅读 · 3 评论 -
Qt 设置窗体或控件渐变消失
1、主窗体渐变 QPropertyAnimation *animation = new QPropertyAnimation(this,"windowOpacity"); animation->setDuration(500); animation->setStartValue(1); animatio...原创 2020-02-14 14:50:33 · 985 阅读 · 0 评论 -
Linux Qt打包应用程序--利用linuxdeployqt
1、下载安装linuxdeployqt(1) github 地址:https://github.com/probonopd/linuxdeployqt/releases下载linuxdeployqt-6-x86_64.AppImage名称太长,可修改为linuxdeployqt(2)复制到/usr/local/bin 文件夹下,并增加可执行权限sudo chmod +x lin...原创 2020-02-09 13:54:55 · 671 阅读 · 0 评论 -
QT出现“undefined reference to `vtable for’”解决方法
Qt 中新建类时,若需要使用信号与槽机制,必须显式启用Q_OBJECT宏。利用QT IDE添加并创建新的类时,在编译过程中会出现以下报错:undefined reference to `vtable for XXX类名’”查询相关资料,利用IDE创建类别时,QtCreator没有自动创建moc_***.cpp文件。因此,最简单的解决办法是在.pro文件中删掉该类别,保存后,再手动添加进该...原创 2020-02-06 10:49:56 · 1285 阅读 · 0 评论 -
Qt 设置textEdit插入文本的字体、大小和颜色
1:、打开字体对话框选择字体//用到头文件:#include <QFontDialog>void MainWindow::on_pushButton_font_clicked(){ bool ok; QFont f = QFontDialog::getFont(&ok, QFont("Consolas",9), this,"设置显示字体"); ...原创 2020-01-10 10:41:23 · 13473 阅读 · 0 评论 -
Qt split字符串分割
1、需求从指定格式的时间字符串中提取关键参数。2、实现 调用字符串的split方法QString text = "12:14:35";QStringList list = text.split(":");int hour = list[0].toInt();int min = list[1].toInt();int sec = list[2].toInt();...原创 2020-01-02 18:34:24 · 9747 阅读 · 0 评论 -
Qt QInputDialog文本输入对话框示例
1、代码如下//引入头文件:#include <QInputDialog>//...//...//...//具体用法:bool isOK;//QInputDialog 是否成功得到输入 QString text = QInputDialog::getText(NULL, "参数设...原创 2020-01-02 17:40:14 · 1648 阅读 · 0 评论 -
Qt 实现QT控件中的QLabel显示图片并自适应显示
一、需求实现QT控件中的QLabel显示图片,并自适应显示。二、代码QImage Image;Image.load(":/image/image/logo.jpg");QPixmap pixmap = QPixmap::fromImage(Image);int with = ui->label_logo->width();int height = ui->l...原创 2019-12-24 13:07:15 · 5035 阅读 · 0 评论 -
Qt 给应用程序添加图标
一、需求给应用程序.exe添加图标。二、代码1、资源文件中添加进去main.ico 32X32pt2、xxxx.pro文件中 添加RC_ICONS = main.ico原创 2019-12-24 13:04:45 · 315 阅读 · 0 评论 -
Qt中的TableWidget初始化表头、行高、选中、自动扩展和接受修改
一、需求设置QT中的TableWidget样式,初始化表头,行高和颜色,行选中,是否修改,是否自动扩展宽度等。二、代码void MainWindow::TimerListInit(){ QStringList InfHeader; int columnNum; columnNum = 7; ui->tableWidgetTabTimer->...原创 2019-12-24 13:01:03 · 4906 阅读 · 0 评论 -
Qt 设置指定列数显示
一、需求将由string生成的ByteArry打印到textEdit中,指定显示的列数。二、代码void MainWindow::on_pushButton_convert_clicked() { QString Str = ui->textEdit_string->toPlainText(); int Strszie = Str.length...原创 2019-12-24 12:56:48 · 724 阅读 · 0 评论 -
QT 获取系统时间
一、需求获取系统时间,生成日志唯一名称。二、代码#include <QDateTime>QDateTime current_date_time =QDateTime::currentDateTime(); QString current_date =current_date_time.toString("yyyy_MM_dd_hh_mm_ss"); ...原创 2019-12-24 12:52:49 · 400 阅读 · 0 评论 -
Qt 设置当前窗口出现在左右窗口的最前面
一、需求点击按钮,出现且只出现一个子界面,即单一实例。二、实现void MainWindow::ShowHelpinfoUI(void){ static showhelpinfo_UI *myui = new showhelpinfo_UI; myui->show(); myui->activateWindow(); myui->s...原创 2019-12-24 12:42:41 · 1568 阅读 · 0 评论 -
QT中的MessageBox设置自动关闭退出
一、概述由于弹出的MessageBox需要手动操作,点击相关操作程序才会进一步执行,所以有时程序使用了MessageBox会阻塞相关功能代码执行。例如,在串口编程中,接收到数据或某项配置成功后弹出一个MessageBox,由于没有及时处理这个弹窗,新来的数据会被阻塞掉,并且重复弹出这个窗口。所以,需要设置自动关闭。二、实现利用QTimer定时器设置自动关闭操作,具体如下:QMe...原创 2019-11-04 15:25:04 · 13134 阅读 · 2 评论 -
QT tr与Qstring的差别
在论坛中漂,经常遇到有人遇到tr相关的问题。用tr的有两类人:(1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr(2)另一类人,确实是出于国际化的需要,将需要在界面上显示的文件都用...转载 2019-10-30 14:46:53 · 5038 阅读 · 0 评论 -
Qt C++ 命名空间namespaces讲解
一、概述命名空间 namespace将一组去哪聚范围内有效的类、对象或者函数组织到一个命名的名字下边,将全局范围分割成多个子域,每个子域就叫做命名空间。作用是在大工程中避免多个类和文件出现相同的成员名称。命名空间使用的格式为:namespace xxx_name{ //变量 //对象 //函数等}例如:namespace myspace{ ...原创 2019-10-28 19:30:38 · 5243 阅读 · 0 评论 -
Qt 设置应用程序开机自启动
要实现开机自启动,主要是将应用程序添加到注册表中。一、首先定义注册表#define AUTO_RUN "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"二、编写开机自启动设置函数//开机自启动,采用QSetting的方式将其写入,通过传入isstart来设置是否自启动void MainWi...原创 2019-08-21 14:11:20 · 14342 阅读 · 5 评论 -
Qt 两个Ui 界面传值
一、说明A=子界面 B=主界面 , 实现A往B传值,B显示.二、利用emit和slot实现2.1 对A.h 添加声明signals:void sendData(QString);//用来传递数据的信号2.2在A.cpp中适当位置将数据进行发射emitsendData(ui->lineEdit->text());//获取lineEdit的...原创 2019-08-21 14:20:43 · 5091 阅读 · 1 评论