那么先给大家看一下本教程后可以做出的效果吧:
并且封包成了一个可以发给你小伙伴使用的应用程序:
教程:
既然要做一个串口助手,我们首先要参考一下优秀的大神开发作品啦:
我们可以看到一个串口调试助手,必不可少的几个功能和模块有:
1.接收框,发送框
2.对应的按键,以及多选框
3.广告栏(哈哈哈)
首先创建工程,选择 QMake - Qwidgets ,然后编译检查是否出错。
我们的思路是:
先做ui,再做功能,最后封包
一.ui设计
1.界面长宽为800 * 480
2. 接收框
3. 发送框,串口号-波特率-数据位-停止位-校验位
4.打开串口,发送-清空 , 以及广告栏哈哈哈
(这里省略了布局,大家根据自己审美去栅格化布局)
还有非常重要的一步:对这些框进行改名,改名,改名!方便后续代码编写!
做完ui后运行一下:
没有问题,很漂亮的ui 设计。
但是还没有完,我们知道串口助手点进去首先需要我们选择波特率、数据位等信息,所以我们要编辑一下选择框的内容:
有点乱,大家应该能看懂
然后再编译一下:
解决:这几个框进行栅格布局即可
那么我们还要考虑到一点进去,我们需要做一下默认设置,比如波特率我们常用的是115200。
编译:成功
二.代码编写:
1.首先修改 .pro文件,加上串口模块,见下图:
2.在widget.cpp中编写如下:
实现功能:在电脑上搜索有用串口并在界面上显示出来
3.头文件包含QSerialPort头文件,以使用QSerialPort类,重命名serialport
4.对串口进行初始化。
什么时候对串口进行初始化?
当我们用鼠标点击打开串口的时候对不对?
我们使用信号与槽:
如何初始化?
用户在ui界面选择什么选项,比如选择波特率4800,我们就需要在程序中实现初始化波特率为4800,其他几个选项也是如此。
然后要判断一下串口初始化成功,然后跳出一个对话框提示我们
我们用到了QMessageBox类(生成消息对话框),包含一下头文件 #include <QMessageBox>
编译一下:
注意:一定要连接设备才能检测出串口号哈!
没问题!
5.实现串口的接收数据
不能使用信号与槽,使用connect函数,自己定义槽函数,槽函数实现以下功能:
编译:
6.实现串口发送数据
关闭串口,转到槽
7.清空和关闭
转到槽:
编译!
三.程序的打包和部署:
目的:
1.写好的程序发给用户用
2.源码不会轻易给别人
如何打包?
1.切换为release模式,编译
release版本没有调试信息
2.然后找到release模式构建的文件夹
3.给我们的程序设定一个程序图标,图标格式为.ico
然后把.ico文件放进我们的文件夹,注意是一开始的根文件夹,不是debug也不是release文件夹
关于.ico文件的图片如何获取,给大家推荐一个网址:在线制作ico图标 | 在线ico图标转换工具 方便制作favicon.ico - 比特虫 - Bitbug.net
我们点击运行:
可以看到release版本中的应用程序图标已经改过来了。
4.封包
把这个应用程序单独复制出来放在一个文件夹中,记住不要有英文路径:
然后打开QT的控制台,在哪里呢?在开始菜单,找到QT,这个终端就是控制台
记住这个路径,cd进入这个路径,dir看一下,确实有这个exe程序
执行:windeployqt Serial_XJH.exe
成功:
接下来就可以把这个压缩包发给你的好朋友装杯啦~
喜欢这篇教程可以点个赞关注哦
想要源码的话也可以私聊我哦