【QT】ComboBox的使用(14)

ComboBox这个控件我常用于多文本的储存、调用,正如他的中文意思为:下拉列表框。

下拉列表框:字面意思就是一个多文本的列表框,今天来看下如何使用ComboBox这个控件。

一.环境配置

1.python 3.7.8  

可直接进入官网下载安装:Download Python | Python.org

2.QT Designer 

官方下载路径:Qt Designer Download for Windows and Mac

二.实例演示

1.直接用Qt Designer 来设计一个串口工具界面的布局,来讲解ComboBox的使用,界面如下:

 【QT】ComboBox的使用(14)_第1张图片

该界面运用到了两个 ComboBox控件,那么我们如何去选取适配的端口号及波特率来完成串口的通信呢?一起先往下来看看ComboBox常用的属性和方法。

2.ComboBox常用的属性和方法

名称 描述
addItem() 增加单个选项内容
addItems() 增加多个, 参数为列表
Clear() 删除下拉列表中的所有选项
Count() 返回下拉列表中的所有项目数量
currentText() 返回当前选中项的文本内容

 以上是ComboBox控件常用的一些属性及方法,了解完后,我们就可以通过实际的案例来更深入的去了解了。

3.currentText()函数返回文本内容

通过currentText()函数,来获取我们想要的内容,就能很轻松的完成我们串口的通信,来看下代码:

comport_ = re.split(r'([,:` -])',ui.comboBox.currentText())
    
ser = serial.Serial(comport_[0], ui.comboBox_3.currentText(),timeout=self.timex)

(1)先来看看第一行代码,我们这边用到了re库的split函数,至于这个split函数,作用就是分割我们的字符,然后以list的形式储存,具体用法可搜索,会有很多详细的讲解,为什么我们要用这个split函数来分割字符呢,首先来了解下,串口通信所需的几个关键参数为:

ser = serial.Serial('端口号', '波特率',timeout='超时等待S为单位')

我们直接读取内容为:COM3  (Prolific PL2303GS USB Serial COM Port (COM3))

但是我们参数1要获取的端口号只需要 COM3即可,所以这边用了re库来提取字符,还是回到我们的ComboBox控件来说。

(2)第二行代码的参数1、2即是ComboBox内容返回值,通过currentText()函数返回当前选中项的内容即可,我这边在设计界面时就加入了几个波特率的value,所以,直接选择即可。

4.其他函数及使用方法

这边我是通过 Qt Designer 来设计,所以很多新增选项等等函数这边就不需要手动去敲,新手的话还是建议手动去敲。

三.总结

ComboBox控件的简单案例即是如上所述啦,我这边主要是通过获取ComboBox控件的选项内容来完成项目中不同串口不同波特率的转换使用,可以自己来试一下吧。

@Neng

你可能感兴趣的:(QT,qt,开发语言)