Python Qt GUI设计:QComboBox下拉列表框类(基础篇—14)
QComboBox是一个集按钮和下拉选项于一体的控件,也被称为下拉列表框。
QComboBox类中的常用方法如下表所示:
QComboBox类中的常用信号如下表所示:
来看看QComboBox按钮类的示例,效果如下所示:
在这个例子中显示了一个下拉列表框和一个标签,其中下拉列表框中有5个选项,既可以使用QComboBox的addltem()方法添加单个选项,也可以使用addltems()方法添加多个选项,标签显示的是从下拉列表框中选择的选项。
当下拉列表框中的选项发生改变时将发射currentIndexChanged信号,连接到自定义的槽函数selectionchange()。
在方法中,当选中下拉列表框中的一个选项时,将把该选项的文本设置为标签的文本并调整标签的大小。
实现代码如下所示:
- import sys
- from PyQt5.QtCore import *
- from PyQt5.QtGui import *
- from PyQt5.QtWidgets import *
-
- class ComboxDemo(QWidget):
- def __init__(self, parent=None):
- super(ComboxDemo, self).__init__(parent)
- self.setWindowTitle("combox 例子")
- self.resize(300, 90)
- layout = QVBoxLayout()
- self.lbl = QLabel("" )
-
- self.cb = QComboBox()
- self.cb.addItem("C")
- self.cb.addItem("C++")
- self.cb.addItems(["Java", "C#", "Python"])
- self.cb.currentIndexChanged.connect(self.selectionchange)
- layout.addWidget(self.cb)
- layout.addWidget(self.lbl )
- self.setLayout(layout)
-
- def selectionchange(self,i):
- self.lbl.setText( self.cb.currentText() )
- self.lbl.adjustSize()
-
- print( "Items in the list are :" )
- 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_())
关注公众号,发送关键字:Java车牌识别,获取项目源码。