|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本节我们使用 Qt 来编写一个简单的上位机。
( K5 m |. M0 G7 D3 h8 o$ q. h: @实验介绍:组装 ui 界面,使用 Qt 提供的串口类来实现串口收发功能,需要掌握的相关 Qt 知识有以下几点:4 { _6 |9 i9 H) s6 Y3 M9 G4 k- |# J
QSerialPort 是 Qt5 中的附加模块,提供了基本的功能,包括配置、I/O 操作、获取和设置 RS-232 引脚的信号,要链接 QtSerialPort 模块,需要在.pro 文件中添加+=serialport。! W+ {6 t, A- `4 n$ x
QSerialPort 封装了丰富的成员变量来对应串口属性,还有很多操作串口的成员函数,常用的成员函数有setPort()或 setPortName(),setBaudRate(),setDataBits(),setStopBits(),setParity()等,可以用这些函数设置要访问的串口设备。本实验使用了 readyRead()信号,当有数据到来时会触发类对象的 readyRead()信号,然后利用它的成员函数 readAll()读取。
9 N; I d }& t& a4 ~! k类 QSerialPortInfo 可以获取可用的串口信息,如端口名称,系统位置,产品号,描述,制造商等信息。我们把它获取到的端口信息交给 QSerialPort 类对象。
9 f: K; H1 B) _* h" Y r77.1 界面布局
; Y, Q9 E o: f! v2 w步骤一:将控件拖到 ui 界面上* ~: d7 o( \7 x& r5 g# b, t
接收框使用 Plain Text Edit,发送框使用 lineEdit,属性选择组件使用 Combo Box。; ^* }% S& C) ]' B, H
. J' r" V' C/ h0 T' \
步骤二:属性设置栏布局,以串口号为例,依次水平布局属性选择位。
# }' k7 H% U' Q6 {![]()
$ t; g- h! O- X. o4 _5 X然后全部选中属性选择框,点垂直布局
/ R Z6 q# @, i0 |![]()
# f6 f! J: D$ r! i4 {效果如图 :5 K' O# @1 d/ ~4 P
![]()
! _& j) v, A8 u$ P z& k步骤三:功能栏布局,在按钮间添加弹簧,点击水平布局。2 v1 O5 N9 s5 R! u( w
![]()
: E" Q1 g3 v+ K选中 Lbel,发送框和功能按钮,点击垂直布局/ l8 i, B. L. K) Z) N/ J! b
![]()
0 d. x2 Z8 _. x如图 :# A% n n& D' A0 ^
![]()
6 C1 i9 J8 w2 v4 c6 a: P2 p( T$ E选中属性栏和右侧组件,然后点击水平布局,如图:
% Q/ @: k/ u6 C" Z) D4 E; S . Y3 d# I& y4 d6 `
完成后:3 {8 O! x' ?' }% |; m
, E j& g- g$ |4 _" Q. A0 f
再仿照上边的方法将下方的功能部分和接收框垂直布局:" Y6 X! U7 b; K! \( g0 F! B( [
5 b2 m7 i( T; Y9 `5 ]
添加完组件后,更改接收框为只读:点击接收框,在 QTextEdit 里标记 readOnly。
8 d- b( E' j' ?" D& ?. E# {在右上角更改 ui 界面对象名,界面组装完成后可以根据需要自行修改,. L( b1 }$ v- m2 [4 l
双击属性选择框添加属性:3 g& ^8 {0 T- Z8 V& a( _
![]()
4 U. J8 H$ ~5 L' l, z/ v' k: q如图:
% w( |- y% v+ ~$ G% H$ l5 l![]()
+ @( J: z) C2 f* G' k2 O. d6 r) `
/ @: O( o' b' a- v- w5 ^# K![]()
0 P& N, ^/ g7 f& a8 g' c哔哩哔哩搜索学习更多内容5 r) m- C4 w5 g8 [
|
|