是一个集按钮和下拉选项于一体的控件,也称做下拉列表框
添加一个下拉选项
从列表中添加下拉选项
删除下拉选项集合中的所有选项
返回下拉选项集合中的数目
返回选中选项的文本
获取索引为i的item的选项文本
返回选中项的索引
改变序列号为index的文本
当用户选中一个下拉选项时发射该信号
当下拉选项的索引发生改变时发射该信号
当选中一个已经选中的下拉选项时,发射该信号
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_())
手机扫一扫
移动阅读更方便
你可能感兴趣的文章