当前位置: 首页 > news >正文

#QT(串口助手-界面)

1.IDE:QTCreator


2.实验:编写串口助手


3.记录

接收框:Plain Text Edit

属性选择:Combo Box

发送框:Line Edit

广告:Group Box

(1)仿照现有串口助手设计UI界面

a5ab1fa7883844b596fc81641274500d.pngd65e021914314e35863b0f60dab50b69.pngd301f093c3db4f5cac9cd448e7130ab7.png

ef0d8c029b9e43d78dd4e79270df3656.png7dbcac1f97f74818a651c4a59b8e4dee.png (2)此时串口助手大体UI完成,但是接收框也能输入数据,应该禁止接收框输入数据,将接收框改为只读属性

ae892a5367724fa58452422c010f8a9c.png

(3)在可选择的属性框中设置待选择的属性

f96ffe8bd9034b6ab18a2dfba302dbb8.png

(4)加入选项后,发现布局有问题

62dad1497ce943a6875231447895566d.png776b39911ed84377a84ee6185fc31580.png (5)新的运行效果

858db0e08594440da3cec6d7218bf57d.png

(6)修改可选择属性的默认选择 

7a282230716c49e496eeff4cbd9dce79.png

(7)在pro文件中加入serialport,如果报错为缺少module,那么可以在qt安装文件中,找到 

dde00fb173264e8d9bcb71547dc704c4.png

根据提示add or remove compent ,加入serial port即可,加入serial bus可以以后编写can modbus等上位机软件

3877fff2898c4cb39d7b5418971e2921.png

(8)加入搜索串口代码 


4.代码

#include "widget.h"
#include "ui_widget.h"
#include "QSerialPortInfo"   //引入必要的serial文件
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QStringList serialNamePort;       //定义一个数组foreach (const QSerialPortInfo &info ,QSerialPortInfo::availablePorts()) {      //自动搜索当前串口serialNamePort<<info.portName();      //将返回值加载入数组}ui->com_cb->addItems(serialNamePort);     //将搜索的串口加入UI界面
}Widget::~Widget()
{delete ui;
}

 

 

相关文章:

  • 多线程环境中使用UdpClient,适当的同步机制
  • php-webdriver 通过队列的方式实现工作流
  • 刷题第11天
  • 985硕的4家大厂实习与校招经历专题分享(part2)
  • 测试常用的Linux命令
  • 中医把脉笔记
  • react tab选项卡吸顶实现
  • 力资源视角的数字化应用
  • 01背包问题 刷题笔记
  • 排序算法:插入排序和希尔排序
  • 阿里云服务器怎么使用?3分钟搭建网站教程2024新版
  • 【设计模式】工厂模式与抽象工厂模式
  • SEO关键词策略:如何选取最适合你网站的关键词?
  • 一个简单的回调函数
  • IOS开发0基础入门UIkit-1cocoapod安装、更新和使用 , 安装中出现的错误及解决方案 M1或者M2安装cocoapods
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 2017-08-04 前端日报
  • 2017前端实习生面试总结
  • canvas 五子棋游戏
  • css系列之关于字体的事
  • dva中组件的懒加载
  • JavaScript中的对象个人分享
  • java正则表式的使用
  • Odoo domain写法及运用
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • React Native移动开发实战-3-实现页面间的数据传递
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 如何编写一个可升级的智能合约
  • 使用docker-compose进行多节点部署
  • 世界上最简单的无等待算法(getAndIncrement)
  • 跳前端坑前,先看看这个!!
  • 项目实战-Api的解决方案
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • $().each和$.each的区别
  • (C语言)fread与fwrite详解
  • (简单) HDU 2612 Find a way,BFS。
  • (蓝桥杯每日一题)love
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (算法)前K大的和
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .Net 知识杂记
  • .NET中winform传递参数至Url并获得返回值或文件
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [20161214]如何确定dbid.txt
  • [APIO2015]巴厘岛的雕塑
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [CF703D]Mishka and Interesting sum/[BZOJ5476]位运算
  • [CSAWQual 2019]Web_Unagi ---不会编程的崽
  • [EFI]Dell Inspiron 15 5567 电脑 Hackintosh 黑苹果efi引导文件
  • [js高手之路] dom常用API【appendChild,insertBefore,removeChild,replaceChild,cloneNode】详解与应用...