码上通QT实战13--监控页面05-串口设备连接准备

1、前言

串口设备的基本概念

串口设备是指通过串行通信接口(Serial Port)进行数据传输的硬件设备。串行通信指数据一位一位地按顺序传输,与并行通信(同时传输多位数据)相对。常见的串口标准包括RS-232、RS-422、RS-485等。

串口设备的主要特点

  • 通信方式:全双工(可同时收发)或半双工(分时收发)。
  • 传输速率:以波特率(Baud Rate)衡量,常见值如9600、115200等。
  • 连接接口:物理接口多为DB9或DB25,也有通过USB转串口的适配器。
  • 应用场景:工业控制、嵌入式系统、传感器、老旧计算机外设等。

常见的串口设备类型

  • 工业设备:PLC(可编程逻辑控制器)、传感器、变频器等。
  • 计算机外设:调制解调器、串口打印机、老式鼠标/键盘。
  • 嵌入式开发板:如Arduino、树莓派(通过UART接口)。

串口通信的技术细节

  • 数据格式:包括起始位、数据位(5-8位)、校验位(奇/偶/无)、停止位(1-2位)。
  • 电平标准
    • RS-232:负逻辑(-3V至-15V表示1,+3V至+15V表示0)。
    • RS-485:差分信号,抗干扰能力强,支持多点通信。

现代应用中的串口设备

尽管USB和网络通信更普及,串口仍用于以下场景:

  • 调试嵌入式系统(如通过UART输出日志)。
  • 工业环境的长距离可靠通信(RS-485可达千米级)。
  • 与遗留设备兼容。

注意事项

  • 在 Windows 上,串口名称通常为 COM1COM2 等;在 Linux 上,通常为 /dev/ttyS0/dev/ttyUSB0 等。
  • 确保串口未被其他程序占用。
  • 读写数据时注意缓冲区大小和超时处理。

2、现在干

1、区域划分

2、控件布局

Qt提供了多种布局管理器用于自动排列控件,确保界面在不同尺寸下保持美观和功能性。以下是常用的布局方法:

QHBoxLayout

水平布局管理器,将控件从左到右排列。适用于工具栏或水平排列的表单元素。

QVBoxLayout

垂直布局管理器,将控件从上到下排列。适用于对话框或垂直列表。

QGridLayout

网格布局管理器,将控件按行和列排列。适用于复杂的表单或仪表盘。

QFormLayout

表单布局管理器,自动生成标签和输入控件的两列布局。适用于数据输入表单。

嵌套布局实现复杂界面

通过组合多种布局管理器,可以构建复杂的用户界面

QLabel概述

QLabel是Qt框架中用于显示文本或图像的控件,支持纯文本、富文本和图片。常用于界面上的静态信息展示,如标题、说明文字或图标。

QComboBox概述

QComboBox 是 Qt 框架中用于下拉列表的组件,常用于提供选项选择功能。

通过 addItemaddItems 方法添加单个或多个选项

使用 currentTextcurrentIndex 获取用户选择的文本或索引:

当选项改变时,currentIndexChanged 信号会被触发:

通过 setEditable(true) 允许用户输入自定义内容:

使用 insertItemremoveItem 动态修改选项:

通过 setItemData 为选项附加额外数据(如 ID):

重写 QStyledItemDelegate 实现自定义选项渲染(如图标+文本):

通过 CSS 样式表调整外观:

QPushButton 概述

QPushButton 是 Qt 框架中用于创建按钮的控件类,继承自 QAbstractButton。它支持文本、图标、快捷键等功能,并可通过信号槽机制实现交互逻辑。

通过构造函数或 setParent() 设置父对象,确保内存管理:

使用 setText()setIcon() 自定义按钮内容:

监听 clicked 信号触发操作:

通过 Qt 样式表(QSS)修改外观:

使用 setEnabled() 控制按钮状态:

通过 & 符号指定快捷键(Alt+字母):

cpp 复制代码
#include <QApplication>
#include <QPushButton>
#include <QDebug>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    
    QPushButton button("Click Me");
    button.resize(100, 30);
    
    QObject::connect(&button, &QPushButton::clicked, []() {
        qDebug() << "Button pressed!";
    });
    
    button.show();
    return app.exec();
}

QGridLayout

网格布局管理器,将控件按行和列排列。适用于复杂的表单或仪表盘

qSS样式简介

qSS(Qt Style Sheets)是Qt框架中用于自定义控件外观的样式表语言,基于CSS语法扩展而来。通过qSS可以修改控件的颜色、字体、边框、背景等属性,实现界面美化。

qSS语法与CSS类似,由选择器和声明块组成:

cpp 复制代码
QWidget {
    background-color: #f0f0f0;
    font: bold 14px "Arial";
}
  • 选择器 :指定目标控件类型(如QPushButton)或对象名(如#btnSubmit)。
  • 声明块:包含属性和值的键值对,用分号分隔。

3、运行效果

4、小结

串口设备的基本概念、技术特点及常见应用场景,表格布局gridlayout,基本控制,QSS

复制代码
原创不易,打字不易,截图不易,撸码不易,整理不易,走过路过,不要错过,欢迎点赞,收藏,转载,复制,抄袭,留言,灌水,请动动你的金手指,祝您早日实现财务自由。
相关推荐
hqwest5 小时前
码上通QT实战14--监控页面06-串口设备数据初始化-
单片机·rs232·serialport·波特率·串口设备·虚拟串口设备软件·qt项目配置文件
hqwest2 天前
码上通QT实战09--监控页面01-区域划分
开发语言·qt·layout·qss·qt 布局
hqwest17 天前
码上通QT实战02--登录设计
开发语言·qt·登录·ui设计·qt控件·qt布局·qt登录
_OP_CHEN25 天前
【从零开始的Qt开发指南】(十二)Qt 布局管理器终极指南:5 大布局 + 实战案例,搞定所有界面排版需求
开发语言·qt·前端开发·qt控件·布局管理器·gui开发
一个平凡而乐于分享的小比特1 个月前
TTL、RS232、RS485串口通信协议详解与对比
串口通信·ttl·rs232·rs485
brave and determined2 个月前
接口通讯学习(day04):RS-232与RS-485:通信接口全解析
网络·uart·通讯·emc·rs232·rs485·嵌入式设计
CodeKwang2 个月前
Qt实战:自定义搜索跳转控件 | 附完整源码
qt·qt控件
小九今天不码代码3 个月前
深入理解 CSS 表格布局:table-layout 的秘密与实战详解(附费用报销单案例)
css·前端开发·表格布局·web设计·table-layout·页面优化·样式布局
十五年专注C++开发3 个月前
QDarkStyleSheet: 一个Qt应用的暗色主题解决方案
开发语言·c++·qt·qss