PyQt5下拉列表框控件QComboBox介绍
QComboBox是一个集按钮和下拉选项于一体的控件,也称做下拉列表框
QComboBox类中的常用方法如表
方法 | 描述 |
---|---|
addItem() | 添加一个下拉选项 |
addItems() | 从列表中添加下拉选项 |
Clear() | 删除下拉选项集合中的所有选项 |
count() | 返回下拉选项集合中的数目 |
currentText() | 返回选中选项的文本 |
itemText(i) | 获取索引为i的item的选项文本 |
currentIndex() | 返回选中项的索引 |
setItemText(int index,text) | 改变序列号为index的文本 |
QComboBox类中的常用信号
信号 | 含义 |
---|---|
Activated | 当用户选中一个下拉选项时发射该信号 |
currentIndexChanged | 当下拉选项的索引发生改变时发射该信号 |
highlighted | 当选中一个已经选中的下拉选项时,发射该信号 |
下拉列表框控件QComboBox按钮的使用实例
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_())
效果图如下
下拉列表框控件QComboBox代码分析:
在这个例子中显示了一个下拉列表框和一个标签,其中下拉列表框中有几个选项,既可以使用QCombobox的addItem()方法添加单个选项,也可以使用addItems()方法添加多个选项:标签显示的是从下拉列表框中选择的选项
#单个添加条目 self.cb.addItem('C') self.cb.addItem('C++') self.cb.addItem('Python') #多个添加条目 self.cb.addItems(['Java','C#','PHP'])
当下拉列表框选中的选项发生改变时将发射currentIndexChanged信号,链接到自定义的槽函数selectionChange()
self.cb.currentIndexChanged.connect(self.selectionchange)
在方法中,当选中下拉列表框中的一个选项时,将把该选项文本设置为标签的文本,并调整标签的大小
def selectionchange(self,i): #标签用来显示选中的文本 #currentText():返回选中选项的文本 self.btn1.setText(self.cb.currentText())
本文详细介绍了PyQt5下拉列表框控件QComboBox详细使用方法与实例,更多关于PyQt5下拉列表框控件QComboBox的知识请查看下面的相关链接
- 本文固定链接: https://zxbcw.cn/post/181525/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)