QT串口开发文章1

文章介绍了如何使用QT开发串口助手,包括通过UI设计创建comboBox并添加选项,响应comboBox的currentIndexChanged事件来获取选择的串口号,以及对QSerialPort类的初步使用,为后续的串口通信做准备。
摘要由CSDN通过智能技术生成

系列文章目录

QT串口助手开发文章1



一、UI设计

首先需要创建QT程序
创建QT程序的时候,记得点下创建页面,基类选择成Dialog,点击Forms文件夹下面的ui文件便可以绘制ui图形了

1.1combo Box(下拉框)

1.1.1下拉框固定用法(ui方式)

在页面绘制一个combo Box,ctrl + r(快捷键)运行
需要学习快捷键用法参考博客

发现这个下拉框选择不了子选项,因为没有添加子选项
在这里插入图片描述

关掉运行的结果,双击下拉框,便可以编辑下拉框了

在这里插入图片描述

点击加号按钮就可以给下拉框添加子选项了,添加完点击ok

在这里插入图片描述
再次运行ctrl + r,下拉框就可以选择子选项了

在这里插入图片描述

这种方式不灵活添加完后,只能有你设置的固定选项


1.1.1下拉框代码方式

代码方式是灵活动态调整Com box(下拉框)
点击下拉框,红框标出的是Objectname就是控件(Combo box就是控件之一)的名字也就是控件的ID,可以更改它的命名为CboxSerialPort(直接编辑值就可以了)
在这里插入图片描述
在这里插入图片描述
该列表框属于ui的一部分,所以可以更改.cpp文件即通过代码方式来灵活设置下拉框的子选项
CBoxSerialPort是之前设置的Combo box
addItem是增加子选项
在这里插入图片描述
出现c++承载,函数名相同,函数的参数不同(在同一个函数名下面实现不同的效果功能),输入不同的参数会调用对应参数的函数

第一个函数的参数Qstring(字符串),把字符串增加进去作为子选项
等于号是默认参数的意思
比如在这里只传一个参数,COM0,后面的参数就默认等于后面函数自带第二个参数的默认值

在这里插入图片描述
第二个函数参数icon是图标+字符串一起增加子选项

在这里插入图片描述我们使用第一个函数,ctrl + b 编译然后ctrl + r运行下看效果
在这里插入图片描述

运行效果,5678也有了,证明这样的方法是直接增加没有覆盖掉之前的ui方式添加的端口

在这里插入图片描述


二、响应combo box

点击了COM1,怎么知道我点击的是COM1
如:
按钮的响应(push button)
点击右键转到槽,里面有个clicked参数,clicked是个信号,当点击这个按钮的时候,clicked信号发出,对应槽函数响应该信号,从而完成对应的动作,比如关闭对话框
在这里插入图片描述在这里插入图片描述

在这里插入图片描述记得把pushbutton再右键删掉


同理combo box
右键点击我们之前创建的combo box 转到槽,选择currentIndexChanged(qstring)(我们用的串口助手,选择不同端口就会修改索引,由于端口是字符串所以选择这个我红框所框的)
点击ok直接切换到dialog.cpp文件中对应的槽函数
在这里插入图片描述在这里插入图片描述
参数&argl就是currentIndexChanged所携带的参数就是串口号(字符串)

展示该字符串需要在ui里面加入一个label用来显示我们刚才选择的串口号,并且直接点击label修改为待选,修改其id名
在这里插入图片描述set text设置标签,标签是arg1(串口号),然后编译ctrl +b 运行ctrl +r

在这里插入图片描述
运行效果

在这里插入图片描述
点击COM1标签变为COM1,当我们点击COM1的时候,发出信号,这个信号是currentIndexChanged当前索引被修改,并且该信号会携带字符串,这个字符串就是你选择的COM1,从槽传进去,COM1传进去,设置标签显示
在这里插入图片描述

三、串口的使用

点击帮助文档找QSerialPort,就显示QserialPort这个类,里面很多函数,我们只需要设置端口号,所以找set函数,设置端口名,数据位,波特率,校验位,停止位
在这里插入图片描述

在这里插入图片描述下一节书写串口的具体写法


END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值