qt int转换成qstring_Qt 串口自定义波特率

385fba05f436588c6b8dd3f1ae3333cd.png

之前和大家分享过跨平台多线程串口调试助手,不过里面没有实现自定义波特率的功能。某天我突然想把这个功能加上,但是网上搜索之后有得到有效的信息,于是就查看Qt的帮助文档,查看了波特率的相关枚举值,又查看了setBaudRate,最后还是得查Qt帮助文档,在里面发现了重要依据: To set the baud rate, use the enumerationQSerialPort::BaudRate or any positive qint32 value. 即setBaudRate时,直接传入自定义波特率的值!

这为实现自定义波特率提供了强有力的依据;然后试了下果然可以!

Ok,既然自定义波特率实现了,那么接下来就是在UI中添加这个可以输入自定义波特率的组件了。但是怎么让QComboBox在已有的item上再添加一个lineEdit呢?我陷入了深深的沉思......

这一沉思一周就过去了。结合自己的经验(Qt TableWidget控件及自定义委托),我首先想到的是自定义委托,但是动手测试了下,结果不行,自定义委托中添加的也都是一类相同的控件,于是放弃了该方法。但是别人的功能是怎么实现的呢?于是边查看QComboBox头文件中的函数边在网上搜寻线索,有一个使能QComboBox item可编辑的接口,但是使能之后每个item都可以编辑了,这也不是我想要的结果啊!我还想过,当选择【Custom】时,移除QComboBox对象,添加一个新的可编辑的QComboBox对象,后来觉得这个比较反人类,于是没再继续。

而且查看了别人串口调试助手运行时的库,发现也是用到了Qt,这我就不能忍了。于是看QComboBox的头文件,发现一个setLineEdit,诶!!!这个接口有点意思,值得一试,经过多种组合,终于在Windows下实现了我想要的效果——点击预先设置的波特率,可通过item选择;当选择【Custom】item时,item变成lineEdit,完美!

主要函数如下:

connect(ui->cbx_baudrate, SIGNAL(currentIndexChanged(int)),

this, SLOT(slot_baudrateIndexChange(int)));

//当选择【Custom】item时

void SerialPortMainWindow::slot_baudrateIndexChange(int baudrateIndex)

{

if(4 == baudrateIndex)

{

QLineEdit *lineEdit = new QLineEdit(this); //输入时可使用正则表达式做一定限制

ui->cbx_baudrate->setLineEdit(lineEdit);

}

else

{

ui->cbx_baudrate->setEditable(false);

}

}

connect(ui->cbx_baudrate, SIGNAL(currentTextChanged(QString)),

this, SLOT(slot_baudrateChange(QString)));

//获得自定义波特率的值

void SerialPortMainWindow::slot_baudrateChange(QString baudrateText)

{

m_baudrate = baudrateText;

qDebug() << m_baudrate;

}

最后效果如下:

67dfe00708f3ee5fda657e954b266f17.png

小结:

主要就是当你想实现一个功能时,结合自己以前的经验,是否有解决方法?

如果没有的话,主要还是查看官方文档!

当一种方法不行时,及时更换另一种方法。

如需完成工程,可在公众号 Pou光明 后台留言!

QT5之串口 foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts())是什么意思foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts())是Qt框架中的一个语法结构,用于遍历系统中所有可用的串口。 阅读详情

相关推荐

Qt实战:串口配置界面中,如何优雅地动态禁用ComboBox选项(附完整源码)

本文详细介绍了在Qt串口配置界面中如何优雅地动态禁用ComboBox选项,通过状态机管理和UI控件动态禁用技术,实现安全可靠的串口参数设置。文章提供了完整的源码实现,包括模型-视图编程、状态同步管理器以及样式表优化技巧,帮助开发者提升工控软件的交互安全性和用户体验。

weixin_30552811的博客 441

关于qt通信的基础配置解析(以串口和tcp为例)

【代码】关于qt通信的基础配置解析(以串口和tcp为例)

m0_65259648的博客 890

Qt C++与QML交互实战:构建现代化串口调试助手

在嵌入式开发和物联网应用中,串口通信是连接硬件设备与上位机软件的基础技术。其原理是通过串行接口按位传输数据,实现设备间的可靠通信。掌握串口编程技术对嵌入式软件工程师和物联网开发者具有重要价值,能高效开发设备调试、数据监控等工具。在实际工程中,常需结合图形界面提升操作体验,而Qt框架的C++与QML分离架构为此提供了优雅解决方案。C++负责底层串口数据读写、协议解析等重逻辑,确保处理效率和平台兼容性;QML则通过声明式语法快速构建美观、响应式的用户界面。两者通过属性绑定、信号槽机制无缝交互,形成高效开发模式。

weixin_30520015的博客 468

Qt 串口自定义波特率

点击上方蓝字可直接关注公众号哦,方便下次阅读 Qt 多线程串口调试助手 之前和大家分享过跨平台多线程串口调试助手,不过里面没有实现自定义波特率的功能。某天我突然想把这个功能加上,但是网上搜索之后有得到有效的信息,于是就查看Qt的帮助文档,查看了波特率的相关枚举值,又查看了setBaudRate,最后还是得查Qt帮助文档,在里面发现了重要依据: To set the baud rate, us...

Pou光明的博客 4702

用STM32和QT自制16路虚拟示波器:从串口协议到波形显示的保姆级教程

本文详细介绍了如何利用STM32和QT开发16通道虚拟示波器,涵盖从硬件配置到软件实现的全流程。重点解析了多通道ADC采集、高效串口协议设计及QT动态波形显示等核心技术,提供工业级解决方案。通过优化数据传输和可视化性能,实现低成本、高性能的虚拟示波器方案,适用于电子测量和实验验证。

weixin_30634661的博客 456

手把手教你用Qt和QCustomPlot,为你的STM32项目DIY一个16路串口虚拟示波器

本文详细介绍了如何使用Qt和QCustomPlot为STM32项目开发一个16路串口虚拟示波器。从系统架构设计、通信协议实现到Qt上位机核心功能开发,提供了完整的实战指南。通过优化串口通信和数据处理,实现多通道AD数据的高效可视化,适用于工业监控、传感器数据采集等场景。

weixin_30600197的博客 336

QT5自带库实现高波特率 (256000 460800 1382400 )

QT5实现高波特率 (256000 460800 1382400 )

weixin_43626214的博客 1万+

QT上位机与STM32串口通信:从协议设计到数据可视化的完整实践

串口通信作为嵌入式系统与上位机交互的基础技术,以其简单、可靠的特性,在工业控制、数据采集等场景中广泛应用。其核心原理是通过TX、RX两根数据线实现全双工异步通信,关键在于通信双方需严格匹配波特率、数据位等参数。在工程实践中,自定义通信协议是确保数据可靠传输的技术基石,通常包含帧头、数据长度、校验和等字段,以解决数据粘包、断包问题。例如,在**STM32**与**QT上位机**的通信中,单片机负责采集传感器数据并按协议封装发送,上位机则通过事件驱动模型接收、解析数据流,并利用图形界面进行实时展示与控制。这种组

weixin_34268169的博客 412

Qt 简易串口助手完整实现

本文介绍基于Qt5.15.2开发简易串口助手的方法。文章从功能规划、界面设计到核心代码实现,详细讲解了使用Qt原生QSerialPort模块开发串口工具的完整流程。该工具支持串口扫描、参数配置、文本/十六进制收发等基本功能,代码简洁可直接移植到桌面和安卓平台。文中提供了UI布局建议、核心功能代码实现、测试方法及常见问题解决方案,适合作为工控入门、课程设计或项目练手的案例。开发无需额外第三方库,仅需基础C++和Qt控件知识,是学习Qt串口开发的经典教程。

x1649545783的博客 386

Qt串口助手实战:用ComboBox禁用/启用实现串口状态切换(附完整源码)

本文详细介绍了如何利用Qt的ComboBox组件实现串口助手的智能禁用/启用功能,通过信号槽机制和状态机设计确保UI与串口状态的严格同步。文章提供了完整的源码实现,包括参数记忆、动态调整等进阶功能,帮助开发者构建专业级的串口调试工具。

weixin_30902251的博客 359

Qt C++实战:Modbus RTU协议详解及主站实现

Modbus总线协议属于应用层协议,是一种常见的工业系统通讯协议,被广泛应用于工业领域。本篇将对Modbus RTU协议进行详细介绍,并实现一个基于Qt的Modbus RTU主站上位机。

WHEgqing的专栏 1254

Qt学习(开发环境Visual Studio)6.串口助手

本文将使用Qt来做一个串口助手,并实现通信。首先了解一下串口助手,简单来说,串口助手就是电脑和设备之间的翻译官兼搬运工。它的工作原理可以浓缩为三步:物理连接靠“伪装”:现在电脑没有老式串口,全靠USB转串口芯片和驱动,在系统里“伪造”出一个虚拟串口(如COM3)。收发数据靠“拆装”:发数据时,它把你的文字按字符编码表(如ASCII)转成数字,交给驱动和芯片,拆成一个一个的比特位发出去。收数据时,过程反过来,把收到的比特位拼成字节,再恢复成文字。

qq_63253937的博客 254

基于Qt与QCustomPlot的串口绘图仪开发:从架构设计到工程实践

在嵌入式开发与物联网领域,数据可视化是理解系统行为、调试硬件和优化算法的关键。其核心原理在于将传感器或微控制器输出的原始数据流,通过串口通信协议传输至上位机,并实时转换为直观的图形曲线。这项技术的核心价值在于,它能将抽象的数字序列转化为可视的趋势、波动和异常,极大提升了调试效率与问题定位能力。其典型应用场景包括PID控制器调参、传感器信号分析(如加速度计、陀螺仪波形)、电源稳定性监测以及任何需要观察数据实时变化的嵌入式项目。本文聚焦于实现一个功能强大且易用的跨平台串口绘图仪(Serial Plotter),

weixin_30735745的博客 413

qt对数据处理的横向总结串口、陀螺仪、传感器

【代码】qt对数据处理的横向总结串口、陀螺仪、传感器。

weixin_46432495的博客 580

手把手教你用Qt和QCustomPlot打造16路AD数据串口虚拟示波器(附源码和exe)

本文详细介绍了如何使用Qt和QCustomPlot库开发一个16路AD数据的串口虚拟示波器,涵盖环境配置、串口通信、数据可视化及性能优化等关键步骤。通过实战案例和源码分享,帮助开发者快速构建高效的上位机工具,特别适合STM32等嵌入式系统的数据调试与分析。

weixin_30718391的博客 414

【Qt】修改QSerialPort支持的波特率

QSerialPort是Qt操作串口的子模块,默认的支持的波特率最大为115200.可以通过修改QSerialPort子模块源码,添加需要的波特率。

郭老二 1529

Qt技巧:Qt常用数据类型转换

在Qt程序中经常会将不同类型的数据互相转化以便数据合理地存储、调用、显示。本文列出了Qt开发中常用的几种数据类型(如int、float、QString、char等)之间的互相转化方法及例子,以供参考。

shawn06 1804

任意波特率 串口工具

任意波特率 串口工具 可以自己任务设置要接受的波特率

上一篇: 可以作为python字符串常量_荐[编程基础] Python格式化字符串常量f-string总结
下一篇: python二维向量_python – numpy中多维数组的向量和
weixin_39638708
博客等级 码龄9年 75粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值