当前位置: 首页 > 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
  • [PHP内核探索]PHP中的哈希表
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • Docker下部署自己的LNMP工作环境
  • JavaWeb(学习笔记二)
  • js对象的深浅拷贝
  • js算法-归并排序(merge_sort)
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • magento2项目上线注意事项
  • nodejs:开发并发布一个nodejs包
  • Vue全家桶实现一个Web App
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 排序算法之--选择排序
  • 如何设计一个微型分布式架构?
  • 如何实现 font-size 的响应式
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 移动端解决方案学习记录
  • 【云吞铺子】性能抖动剖析(二)
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​VRRP 虚拟路由冗余协议(华为)
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (五)MySQL的备份及恢复
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (正则)提取页面里的img标签
  • .NET 反射 Reflect
  • .Net 垃圾回收机制原理(二)
  • .net 微服务 服务保护 自动重试 Polly
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .project文件
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [APIO2015]巴厘岛的雕塑
  • [C语言]一维数组二维数组的大小
  • [HJ73 计算日期到天数转换]
  • [HOW TO]怎么在iPhone程序中实现可多选可搜索按字母排序的联系人选择器
  • [leetcode] 四数之和 M
  • [LeetCode]—Roman to Integer 罗马数字转阿拉伯数字
  • [LeetCode周赛复盘] 第 312 场周赛20220925