QComboBox

是一个集按钮和下拉选项于一体的控件,也称做下拉列表框

方法
addItem()

添加一个下拉选项

addItems()

从列表中添加下拉选项

Clear()

删除下拉选项集合中的所有选项

count()

返回下拉选项集合中的数目

currentText()

返回选中选项的文本

itemText(i)

获取索引为i的item的选项文本

currentIndex()

返回选中项的索引

setItemText(int index,text)

改变序列号为index的文本

信号
Activated

当用户选中一个下拉选项时发射该信号

currentIndexChanged

当下拉选项的索引发生改变时发射该信号

highlighted

当选中一个已经选中的下拉选项时,发射该信号

 baudrate_label = QLabel(' 波  特  率  ')
bytesize_label = QLabel(' 数 据 位' )
parity_label = QLabel(' 校 验 位 ')
stopbit_label = QLabel(' 停 止 位 ') self.serialPort_combox = QComboBox()
port_serial = mylib.getPort()
i = 0
for i in range(len(port_serial)):
self.serialPort_combox.addItem(str(port_serial[i]))#一个个添加
self.serialPort_combox.setCurrentIndex(len(port_serial)-1)#设置默认值为最后一个
self.baudrate_combox = QComboBox()
self.baudrate_combox.addItems(myconst.baudrate_list)#直接添加一个list
self.baudrate_combox.setCurrentText(myconst.baudrate_list[4])#设置默认选择
#for item in myconst.baudrate_list:
#baudrate_combox.addItem(str(item)) self.bytesize_combox = QComboBox()
self.bytesize_combox.addItems(myconst.bytesizes)
self.bytesize_combox.setCurrentText(myconst.bytesizes[3])#设置默认选择
self.parity_combox = QComboBox()
self.parity_combox.addItems(myconst.parity_list)
self.stopbit_combox = QComboBox()
self.stopbit_combox.addItems(myconst.stop_bits)
self.stopbit_combox.setCurrentIndex(0)
#将以上控件添加到formlayout布局中
flayout_1.addRow(serialPort_label, self.serialPort_combox)
flayout_1.addRow(baudrate_label, self.baudrate_combox)
flayout_1.addRow(bytesize_label, self.bytesize_combox)
flayout_1.addRow(parity_label, self.parity_combox)
flayout_1.addRow(stopbit_label, self.stopbit_combox)
#将布局添加到paraConf_combox (QGroupBox) 中
self.portSetting_groupbox.setLayout(flayout_1)
 import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import * class ComboxDemo(QWidget):
def __init__(self,parent=None):
super(ComboxDemo, self).__init__(parent)
#设置标题
self.setWindowTitle('ComBox例子')
#设置初始界面大小
self.resize(300,90) #垂直布局
layout=QVBoxLayout()
#创建标签,默认空白
self.btn1=QLabel('') #实例化QComBox对象
self.cb=QComboBox()
#单个添加条目
self.cb.addItem('C')
self.cb.addItem('C++')
self.cb.addItem('Python')
#多个添加条目
self.cb.addItems(['Java','C#','PHP'])
#当下拉索引发生改变时发射信号触发绑定的事件
self.cb.currentIndexChanged.connect(self.selectionchange) #控件添加到布局中,设置布局
layout.addWidget(self.cb)
layout.addWidget(self.btn1)
self.setLayout(layout) def selectionchange(self,i):
#标签用来显示选中的文本
#currentText():返回选中选项的文本
self.btn1.setText(self.cb.currentText())
print('Items in the list are:')
#输出选项集合中每个选项的索引与对应的内容
#count():返回选项集合中的数目
for count in range(self.cb.count()):
print('Item'+str(count)+'='+self.cb.itemText(count))
print('current index',i,'selection changed',self.cb.currentText()) if __name__ == '__main__':
app=QApplication(sys.argv)
comboxDemo=ComboxDemo()
comboxDemo.show()
sys.exit(app.exec_())

Pyqt5_QComboBox的更多相关文章

随机推荐

  1. 集合框架-day10

    day10-集合框架-对象数组的概述与引用 1 集合框架的简单介绍: A:集合的由来 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任 ...

  2. Shiro踩坑记(二):使用RequiresXXX的注解后,访问对应请求返回404

    问题描述: 我在项目中的某个Controller上添加了@RequirePermissions注解,希望在执行该请求前,可以先进行权限验证.但是当我请求该Controller时,返回的确是404错误. ...

  3. 长江存储推全新3D NAND架构 挑战三星存储

    雷帝网 乐天 8月7日报道 作为NAND行业的新晋者,长江存储科技有限责任公司(简称:长江存储)今天公开发布其突破性技术--XtackingTM.据知情人士透露,这之前存储一直都是三星的强项. 长江存 ...

  4. Kudu,支持快速分析的新型Hadoop存储系统

    Kudu是Cloudera开源的新型列式存储系统,是Apache Hadoop生态圈的新成员之一(incubating),专门为了对快速变化的数据进行快速的分析,填补了以往Hadoop存储层的空缺.本 ...

  5. 跟风微信小程序,生鲜水果店如何借力小程序每天多赚2万块?

    公司旁边的水果店,虽然是一家实体店,但老板有一颗爱玩互联网的心. 老板非常重视线上的营销推广,什么新的线上推广方式都爱尝试一下.公众号大热时做了自己的微信公众号,并且有自己的微信商城,不过线上的销售一 ...

  6. iOS开发·runtime原理与实践: 消息转发篇(Message Forwarding) (消息机制,方法未实现+API不兼容奔溃,模拟多继承)...

    本文Demo传送门: MessageForwardingDemo 摘要:编程,只了解原理不行,必须实战才能知道应用场景.本系列尝试阐述runtime相关理论的同时介绍一些实战场景,而本文则是本系列的消 ...

  7. Linux利用udev提权

    友老催我写个webshell+udev localroot的文章.这周末有点空闲时间,捣鼓了一下.公开的udev exploit有两个.一个是kcope写的SHELL版本,一个是jon写的C版本. s ...

  8. ACM卡常处理办法(虽然我到现在没遇到)

    今天做预流推送,一样的代码.别人500MS(OI选手)而我5S,百思不得其解,然后我知道了还有卡常这一说. 我们今天就来看一看吧: 1.循环展开: 在缓存和寄存器允许的情况下一条语句内大量的展开运算会 ...

  9. 图论--最小环--Floyd模板

    #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> ...

  10. VSCode 安装 React 项目

    1 下载nodejs 安装 (此时npm 和 node环境都已经装好) 2 安装淘宝镜像 npm install -g cnpm --registry=https://registry.npm.tao ...