|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本节我们使用 Qt 来编写一个简单的上位机。: V) V2 L/ g8 U" z- t) S' S
实验介绍:组装 ui 界面,使用 Qt 提供的串口类来实现串口收发功能,需要掌握的相关 Qt 知识有以下几点:
4 Q7 j; o; k. w# d, a+ @QSerialPort 是 Qt5 中的附加模块,提供了基本的功能,包括配置、I/O 操作、获取和设置 RS-232 引脚的信号,要链接 QtSerialPort 模块,需要在.pro 文件中添加+=serialport。7 t+ l4 w7 w' T! \4 u+ L
QSerialPort 封装了丰富的成员变量来对应串口属性,还有很多操作串口的成员函数,常用的成员函数有setPort()或 setPortName(),setBaudRate(),setDataBits(),setStopBits(),setParity()等,可以用这些函数设置要访问的串口设备。本实验使用了 readyRead()信号,当有数据到来时会触发类对象的 readyRead()信号,然后利用它的成员函数 readAll()读取。
% m" `9 {" d/ F% W( M- d8 Q类 QSerialPortInfo 可以获取可用的串口信息,如端口名称,系统位置,产品号,描述,制造商等信息。我们把它获取到的端口信息交给 QSerialPort 类对象。2 [- r5 X: H* M/ v: L
77.1 界面布局0 M- T! t: R+ U( {
步骤一:将控件拖到 ui 界面上
2 W1 P, d4 D y& s接收框使用 Plain Text Edit,发送框使用 lineEdit,属性选择组件使用 Combo Box。
9 [$ }- \+ Z; v- a 9 E8 e$ {. X4 X7 \ T
步骤二:属性设置栏布局,以串口号为例,依次水平布局属性选择位。) w! w a$ Z' Q0 M# _
% N6 m; y9 _1 R" x, t$ b9 s: F$ Q
然后全部选中属性选择框,点垂直布局
! N) @" }' z5 f2 r1 f, n![]()
8 _0 E. a$ x' O4 R效果如图 :9 r2 R# P/ o1 ~* d r& C7 v! e+ S
![]()
3 G: L& J. z/ o% ~3 g3 a4 s ^步骤三:功能栏布局,在按钮间添加弹簧,点击水平布局。: ?* X4 a/ \6 U H A- ]* u
![]()
/ B* u% T" ]) ]$ T选中 Lbel,发送框和功能按钮,点击垂直布局4 f! Y6 f: i( y% y- r- _( n4 z
, v$ y0 @8 g3 g7 z' p
如图 :
5 g) H4 W0 V/ j! K( h$ ~![]()
# ^0 v1 u! s) h7 R, @选中属性栏和右侧组件,然后点击水平布局,如图: j/ n, L& Q8 _8 J6 Z4 G. T1 A
![]()
7 c5 R1 C: m8 s- b+ R; {5 t完成后:9 C, b* ~6 u1 \+ D2 b
4 x$ |9 H! D7 O" F
再仿照上边的方法将下方的功能部分和接收框垂直布局:
- u; q' f- ?& ^* ]- Z) Z 7 }8 U$ G+ X& E. Z8 O' u
添加完组件后,更改接收框为只读:点击接收框,在 QTextEdit 里标记 readOnly。
* w0 J- B' s6 b; d* X& e& [在右上角更改 ui 界面对象名,界面组装完成后可以根据需要自行修改,9 R1 J+ w w% \ Y
双击属性选择框添加属性:
/ d4 Y( `# b2 [, k: F 6 K3 T" [6 h' l+ n C- h, t5 b
如图:6 `5 L h9 S1 x) W2 m
: A u4 ]. i3 C
# _; `/ v1 V5 \+ J" ?$ S8 p9 t : M) t2 |+ X' m! j# @' z/ i
哔哩哔哩搜索学习更多内容
s7 h- w( ?8 n4 I9 \ |
|