恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

QT专题之串口编程 -上位机设计

  • 首页
  • 资讯中心
  • /
  • QT专题之串口编程 -上位机设计

相关资讯

2026开封工程建筑材料检测排名 TOP5 CMA 资质提供钢材检测、水泥检测、砂石检测 全覆盖联系方式推荐 2026/8/29 0:58:33
2026喀什工程建筑材料检测排名 TOP5 CMA 资质提供钢材检测、水泥检测、砂石检测 全覆盖联系方式推荐 2026/8/29 0:58:33
智能体评测分数为何不可直接比?揭秘评测harness的影响 2026/8/29 0:53:33

最新资讯

DiskGenius下载与C盘扩容教程(2026):磁盘分区、数据恢复一次讲清
秒杀抢购脚本技术拆解:从zip解压到并发与风控
FPGA SERDES 通用基础(十二)RX CDR:鉴相与恢复时钟
条件独立性检验:从相关性到因果发现的关键一步
携程大数据笔试复盘:Hadoop、Spark、SQL考点全解析
快速部署K8S集群

今日推荐

云计算SPI三类服务模式是逐层抽象的关系:IaaS提供最底层的硬件资源,PaaS在IaaS基础上封装了开发运行环境,SaaS则进一步封装为可直接使用的软件
最新稳定版(Python 3.14):这是目前官方推荐的最新稳定版本。作为最后一个采用传统“3.x”命名的版本
etc目录下的profile.d文件目录设置环境变量和全局脚本shell

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

QT专题之串口编程 -上位机设计

发布时间:2026/8/29 0:58:33
QT专题之串口编程 -上位机设计 目录一、界面设计二、程序设计附件有程序源码三、验证Windows下将QT项目生成可执行文件exe一、界面设计首先正常创建一个新的工程的流程创建完成之后在.pro文件中添加serialport,即在头文件中添加串口类进入UI界面编辑界面的大小为800480先实现一个串口选择实现多个将所有组件进行水平布局设计比例垂直比例设为5:2接下来就要补充下QComboBox的内容波特率停止位数据位校验位如果我们不知道有哪些可以直接去帮助文档里面找即可以搜索例如至此界面设计结束接下来将会进行程序设计二、程序设计附件有程序源码像串口选择这里的QComboBox组件就不能像上面这样一个一个添加进去不行因为串口是未知的。其实QT提供了一个类可供扫描本机或者开发板上的可用串口它会将串口信息储存到一个容器里面遍历这个容器就可以提取这些串口的信息即在头文件中添加QSerialPortInfo串口信息类。那怎么把本机或者开发板上的可用串口添加到QComboBox里面呢遍历有一个方法foreach循环添加串口信息串口名字一个参数var是变量一个参数container是容器。串口信息类会扫描本机或者开发板上的串口会返回一个串口信息类的容器然后我们从这个容器里面读取串口信息。用串口的这个类设置这个串口//mainwindows.cpp void MainWindow::on_pushButton_clicked(bool checked) { if(checked){ //设置要打开的串口名字 serialport-setPortName(ui-comboBox-currentText()); //设置波特率 serialport-setBaudRate(ui-comboBox_2-currentText().toInt()); //设置停止位 serialport-setStopBits(QSerialPort::StopBits(ui-comboBox_3-currentText().toInt())); //设置数据位 serialport-setDataBits(QSerialPort::DataBits(ui-comboBox_4-currentText().toInt())); //设置校验位 switch (ui-comboBox_5-currentIndex()) { case 0: serialport-setParity(QSerialPort::NoParity); break; case 1: serialport-setParity(QSerialPort::EvenParity); break; case 2: serialport-setParity(QSerialPort::OddParity); break; case 3: serialport-setParity(QSerialPort::SpaceParity); break; case 4: serialport-setParity(QSerialPort::MarkParity); break; default: break; } //设置流控为无 serialport-setFlowControl(QSerialPort::NoFlowControl); if(!serialport-open(QIODevice::ReadWrite)) { QMessageBox::about(this, 错误, 串口打开失败可能已经被占用); return; } //打开串口后各选项变为灰色即不可选状态 ui-comboBox-setEnabled(false); ui-comboBox_2-setEnabled(false); ui-comboBox_3-setEnabled(false); ui-comboBox_4-setEnabled(false); ui-comboBox_5-setEnabled(false); ui-pushButton-setText(关闭串口); } else { //关闭串口 serialport-close(); ui-comboBox-setEnabled(true); ui-comboBox_2-setEnabled(true); ui-comboBox_3-setEnabled(true); ui-comboBox_4-setEnabled(true); ui-comboBox_5-setEnabled(true); ui-pushButton-setText(打开串口); } }在使用串口类之前要先实例化对象实例化之后打开串口的槽函数方才生效接下来实现“扫描本机的串口并且添加到下拉框列表”创建一个槽函数连接槽函数最后实现发送和清除发送的槽函数清除发送同理分别编写三、验证Windows下将QT项目生成可执行文件exe生成工程名.exe文件如下找到后将工程名.exe文件复制到一个空的文件夹中点击它并且将命令行工具定位到空的文件夹目录下windeployqt 工程名.exe执行成功后来到空的文件夹下执行后最终效果如下

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号