怎么在python中使用QComboBox下拉列表框控件-创新互联
怎么在python中使用QComboBox下拉列表框控件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

QComboBox是一个集按钮和下拉选项于一体的控件,也称做下拉列表框
QComboBox类中的常用方法如表
| 方法 | 描述 |
|---|---|
| addItem() | 添加一个下拉选项 |
| addItems() | 从列表中添加下拉选项 |
| Clear() | 删除下拉选项集合中的所有选项 |
| count() | 返回下拉选项集合中的数目 |
| currentText() | 返回选中选项的文本 |
| itemText(i) | 获取索引为i的item的选项文本 |
| currentIndex() | 返回选中项的索引 |
| setItemText(int index,text) | 改变序列号为index的文本 |
| 信号 | 含义 |
|---|---|
| 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的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())
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
分享题目:怎么在python中使用QComboBox下拉列表框控件-创新互联
路径分享:http://www.jxjierui.cn/article/ppeco.html


咨询
建站咨询
