当前位置: 首页 > 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
  • hexo+github搭建个人博客
  • 【Leetcode】104. 二叉树的最大深度
  • 08.Android之View事件问题
  • Android交互
  • Cookie 在前端中的实践
  • HTTP中的ETag在移动客户端的应用
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 服务器之间,相同帐号,实现免密钥登录
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 在Unity中实现一个简单的消息管理器
  • 阿里云API、SDK和CLI应用实践方案
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • #pragma once
  • (27)4.8 习题课
  • (转) ns2/nam与nam实现相关的文件
  • (转)Mysql的优化设置
  • .bat批处理出现中文乱码的情况
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .net MySql
  • .NET 使用 XPath 来读写 XML 文件
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET中使用Protobuffer 实现序列化和反序列化
  • :not(:first-child)和:not(:last-child)的用法
  • ?
  • [ C++ ] STL---仿函数与priority_queue
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [ 数据结构 - C++]红黑树RBTree
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [Android] Android ActivityManager
  • [C#]winform部署yolov9的onnx模型
  • [C#]winform使用引导APSF和梯度自适应卷积增强夜间雾图像的可见性算法实现夜间雾霾图像的可见度增强
  • [CCIE历程]CCIE # 20604
  • [EFI]Acer Aspire A515-54g电脑 Hackintosh 黑苹果efi引导文件
  • [FFmpeg学习]从视频中获取图片
  • [flask]http请求//获取请求头信息+客户端信息