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

发布时间:2026/8/29 0:59:42

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执行成功后来到空的文件夹下执行后最终效果如下

相关新闻

2026开封工程建筑材料检测排名 TOP5 CMA 资质提供钢材检测、水泥检测、砂石检测 全覆盖联系方式推荐

2026开封工程建筑材料检测排名 TOP5 CMA 资质提供钢材检测、水泥检测、砂石检测 全覆盖联系方式推荐

2026/8/29 0:59:42

开封的建筑材料检测市场,机构林立、良莠不齐。建筑总包单位、建材生产厂家、市政工程项目以及装修建设企业在选材验收时,稍有不慎便会遇上无资质机构,其出具的检测报告无法用于工程报审与竣工验收备案,令人头疼不已。小编实地走访…

2026喀什工程建筑材料检测排名 TOP5 CMA 资质提供钢材检测、水泥检测、砂石检测 全覆盖联系方式推荐

2026喀什工程建筑材料检测排名 TOP5 CMA 资质提供钢材检测、水泥检测、砂石检测 全覆盖联系方式推荐

2026/8/29 0:59:42

喀什的建筑材料检测市场,机构数量可谓鳞次栉比,但资质水平却参差不齐、鱼龙混杂。建筑总包单位、建材生产厂家、市政工程项目以及装修建设企业,在选材验收时稍有不慎,就容易碰上无资质机构出具的检测报告,这类报告根本…

斯坦福大学Rad229课程MRI仿真代码:从原理到实践的交互式学习指南

斯坦福大学Rad229课程MRI仿真代码:从原理到实践的交互式学习指南

2026/8/29 0:59:42

简介:磁共振成像(MRI)是一种利用核磁共振原理获取人体内部结构影像的重要医学成像技术。其核心原理涉及射频脉冲激发、梯度磁场空间编码以及K空间信号采集与图像重建。理解这些基础概念对于掌握MRI技术至关重要。通过代码仿真,学习…

LaTeX在美赛论文写作中的核心优势与快速上手指南

LaTeX在美赛论文写作中的核心优势与快速上手指南

2026/8/29 2:09:45

1. 从零开始的LaTeX美赛写作:为什么它比Word更值得投入如果你正准备参加美赛(MCM/ICM),并且还在纠结是用Word还是LaTeX来写论文,我以一个过来人的身份告诉你:直接上LaTeX,别犹豫。这听起来可能有…

Claude Code v2.1.246更新解析:通配符权限、全屏模式与后台会话修复

Claude Code v2.1.246更新解析:通配符权限、全屏模式与后台会话修复

2026/8/29 2:09:45

在日常开发中,Claude Code 这类终端 AI 编程工具最大的价值,是能直接替你在项目里读取文件、修改代码、执行命令。可也正因为“能直接动文件和命令”,它每一步授权机制是否合理、是否安全,就变得格外重要。Claude Code v2.1.246 这…

STM32与OpenMV融合的智能小车设计:从PID控制到视觉识别实战

STM32与OpenMV融合的智能小车设计:从PID控制到视觉识别实战

2026/8/29 2:09:45

1. 项目概述:从“智能送药小车”到国赛一等奖的完整路径 看到“智能送药小车”这个题目,很多参加过电子设计竞赛的朋友应该会心一笑。这几乎是电赛里一个经典到不能再经典的赛题方向,每年都能看到它的身影,但每年也都能涌现出让人…

4K MV多平台视频转码交付指南:从FFmpeg参数到色彩空间全解析

4K MV多平台视频转码交付指南:从FFmpeg参数到色彩空间全解析

2026/8/29 2:09:45

从成片到全平台稳定播放:一首 4K MV 的完整技术交付链路收到一个 4K 音乐视频的交付任务时,很多人的第一反应是“直接用格式工厂导出一遍,传到各平台就完事”。如果只是做到这一步,那大概率会在第一个正式环节就出问题&#xff1a…

Python处理Excel进阶指南:pandas与openpyxl实战对比与性能优化

Python处理Excel进阶指南:pandas与openpyxl实战对比与性能优化

2026/8/29 2:09:45

1. 从“能用”到“好用”:Python处理Excel的进阶之路如果你用Python处理过数据,那Excel文件读写绝对是绕不开的必修课。乍一看,这活儿挺简单,不就是用pandas的read_excel和to_excel吗?我刚开始也这么想,直到…

ISM330DHCX有限状态机实战:从寄存器配置到低功耗运动检测

ISM330DHCX有限状态机实战:从寄存器配置到低功耗运动检测

2026/8/29 1:59:44

1. 为什么 ISM330DHCX 的有限状态机值得单独写一篇 我在一个低功耗运动检测项目里第一次认真用 ISM330DHCX 的有限状态机(FSM)。说实话,以前我一直觉得这个功能就是个“寄存器里塞程序”的噱头,实际用下来才发现,它能把…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/27 11:10:02

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/27 7:25:23

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/28 7:34:42

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

四款热门降AI工具测评:研究生和本科生怎么选?

四款热门降AI工具测评:研究生和本科生怎么选?

2026/8/29 0:09:39

马上要交论文了,最近真的被论文ai率折磨的够呛。 明明查重都没问题了,但是ai率就是居高不下,崩溃了,明明都是我自己写的,天杀的,明明都是我亲生的啊 改来改去,终于给我搞出一套完美的降ai方案…

论文降AI率免费攻略:自查、提示词与工具推荐

论文降AI率免费攻略:自查、提示词与工具推荐

2026/8/29 0:09:39

马上要交论文了,最近真的被论文ai率折磨的够呛。 明明查重都没问题了,但是ai率就是居高不下,崩溃了,明明都是我自己写的,天杀的,明明都是我亲生的啊 改来改去,终于给我搞出一套完美的降ai方案…

北京GEO优化服务商推荐:预算型企业如何选北京GEO优化服务商?

北京GEO优化服务商推荐:预算型企业如何选北京GEO优化服务商?

2026/8/29 0:09:39

前言:预算有限的企业更关心投入能否形成可持续的品牌资产。评估北京GEO优化服务商时,不能只比较单篇内容或单月报价,还要看是否能够把问题词、官网、信源和监测串成完整链路。本期重点放在预算配置、试点范围和交付边界,帮助企业先…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/28 7:35:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/28 7:34:51

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/28 7:34:35

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…