QT串口助手开发2之串口程序编写
创始人
2025-05-28 11:06:44
0

系列文章目录

QT串口助手开发1之绘制界面


QT串口助手开发2

  • 系列文章目录
  • 一、前期准备工作
    • 1.1给选择框添加子选项
    • 1.2给控件命名ID
  • 二、自动识别系统端口程序
  • 三、响应打开函数


一、前期准备工作

1.1给选择框添加子选项

书接上文
绘制好界面后,需要给每个控制命个名,再继续编写串口程序
直接对label直接更改标签名字即可同理pushbutton
设置选项框里面的子选项,设置波特率,串口号用程序的方式动态识别
设置方式见设置选项框的方法
在这里插入图片描述
同理校验位,数据位,停止位

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


1.2给控件命名ID

点击串口号后面的Combo Box 控件给其ID为cboxSerialPort
同理波特率更名为CboxBaudrate
校验位更名为CboxParity
数据位更名为CboxDataBits
停止位更名为CboxStopBits
pushbutton更名为打开和发送
Text Edit命名为TeditRecv、TeditSend
在这里插入图片描述
ctrl + r运行看下效果,如果觉得不是很好看,就在SizePolicy调整策略
在这里插入图片描述


二、自动识别系统端口程序

自动识别当前系统有效的端口,让你选择(在串口号那栏有子选项可以选择)
去帮助文档查看帮助文档查看方法
首先需要给头文件加功能模块可参考文档
在这里插入图片描述在这里插入图片描述

QList列表里的每个成员都是SerialPortInfo,其实这个表就是有效端口的列表
类内的静态成员,可以直接通过类来调用不需要对象,直接调用就是两个::
availablePorts()这个函数返回一个列表到serialportInfo
接下来遍历这个列表,把列表里面的内容填到串口号后面的combo box里面去
帮助文档查看QList(列表或者数组)如何使用当作一个数组访问
在for循环里面,返回一个数组下标,at返回一个串口的信息
最详细写法参考参考写法

ctrl + r运行测试效果
在这里插入图片描述
测试成功,再添加2个模拟串口测试

在这里插入图片描述

在这里插入图片描述在这里插入图片描述
ctrl + r 运行,测试成功
在这里插入图片描述


三、响应打开函数

参考文章添加链接描述
右键点击打开按钮转到槽
在这里插入图片描述
在这里插入图片描述
当打开按钮按下后,其余比如波特率…等等这些就不能在选择子选择,按钮就变成断开按钮类似这样
在这里插入图片描述m开头是类内成员
在这里插入图片描述在这里插入图片描述

写个函数,alt + enter 鼠标放在写的函数上,选择添加一个定义,界面就跳转了
这样就可以不用直自己写一个函数

在这里插入图片描述
我们要获取5个配置

在这里插入图片描述
并且设置进去(转到头文件)
在这里插入图片描述

再写其类内的成员
在这里插入图片描述
写.cpp文件
默认情况就是115200,你没选择波特率就是115200,以免没设置波特率

在这里插入图片描述同理写其它位
校验位只写三种去除两种,太麻烦了(在ui界面也去掉)
这两种去掉
在这里插入图片描述
写.cpp文件
在这里插入图片描述

同理其它位

在这里插入图片描述

停止位:

在这里插入图片描述
写完后要返回open的结果

小灯泡是修改该函数类型后,.h文件也要更改(函数的声明),点下小灯泡跳转到.h文件并且自动帮你更改
.cpp是函数的实现
在这里插入图片描述
更变成功

在这里插入图片描述

在构造函数中初始化下mIsOpen,默认情况下是关闭
open按钮的槽函数可以响应open单击的动作
点击打开这个按钮后,调用getSerialPortConfig函数,当这个函数返回true说明这个串口打开成功,否则打开失败,这个时候才能设置mIsOpen成员true or false(这个时候才是真正打开串口或者没打开串口)
但是我们打开串口按钮打开后只能选择关闭串口,所以这个是循环的过程,下文再书写如何编写串口程序,该问题留给下文

在这里插入图片描述


END

相关内容

热门资讯

农业农村部副部长江文胜会见肯尼... 7月6日消息,农业农村部副部长江文胜当地时间4日在内罗毕会见肯尼亚农业畜牧发展部副部长罗诺,就中肯农...
罗马仕客服回应停工:内部正常组... 7月6日消息,罗马仕电商平台客服回应停工停产。关于停工停产消息,罗马仕淘宝旗舰店客服表示:“这是公司...
友邦据报遭IPO长情股东科威特... 7月6日消息,友邦保险周五港股开市前录得4宗大手交易,涉及约3.94亿股股份,占公司总股本约3.7%...
中国在建最大火电厂新机组投产,... 7月6日消息,我国在建最大火电厂,浙江北仑电厂的8号机组经过168小时满负荷试运行后,今天顺利投产,...
8个主要产油国决定8月继续增产 7月6日消息,当地时间5日,石油输出国组织(欧佩克)发表声明称,欧佩克和非欧佩克产油国中的8个主要产...
泡泡玛特,风光不再? 泡泡玛特... 文|兰杰编辑|乔芊2025年,泡泡玛特已经成长为一个庞然大物。3月25日,泡泡玛特公布了2025年财...
确定性如何炼成?荣昌生物的盈利... 2026年3月27日,荣昌生物(688331.SH/09995.HK)发布了其2025年年度报告。财...
西藏发展董事长罗希失联 罗希西... 4月2日,西藏发展股份有限公司(ST西发,000752.SZ)发布公告,近日,公司通过电话、微信等方...
沪指跌1%报3880.1点:通... A股三大股指4月3日集体高开。早盘虽然探底后有所反弹,但午前重返跌势跌幅反而扩大。午后上攻乏力,维持...
日本富士山登山火爆 7月5日消息,日本富士山山梨县一侧从本周起正式开山。由于富士山顶多数时间被积雪覆盖,每年只有夏季的两...