Python Qt:QComboBox下拉框

2026-11-054
AI 快速预览详细 收起
本文介绍了Python Qt中的QComboBox控件,它是一个集按钮和下拉选项于一体的控件。文章详细列出了QComboBox的常用方法和信号,并提供了一个示例代码。在这个示例中,显示了一个下拉列表框和一个标签,下拉列表框中有5个选项,可以通过QComboBox的addItems方法添加多个选项。当下拉列表框中的选项发生改变时,会发射currentIndexChanged信号,并连接到自定义的槽函数selectionchange()。在该槽函数中,当选中下拉列表框中的一个选项时,将把该选项的文本设置为标签的文本并调整标签的大小。

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_())

创作许可协议

本项目采用 CC BY(署名) 进行许可。

评论(0)
- 没有更多了 -