使用currentIndeChanged来绑定选择变化后的函数, 使用QComboBox().currentText()来获得当前被选中框的文本
QComBoBoxDemo.py
""" 下拉列表控件 (QComboBox) 1.如果将列表项添加到QComboBox控件中 2.如何获取选中的列表项 """ import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt class QComboxDemo(QWidget): def __init__(self): super(QComboxDemo, self).__init__() self.initUI() def initUI(self): self.setWindowTitle("下拉列表控件演示") #设置框的大小 self.resize(300, 100) #创建垂直布局 layout = QVBoxLayout() #设置起头标签 self.label = QLabel("请选择编程语言") #构建下拉框 self.cb = QComboBox() #往下拉框中添加文本 self.cb.addItem("C++") self.cb.addItem("Python") self.cb.addItems(['Java', 'C#', 'Ruby']) #当下拉框的选项变化时,进行函数绑定 self.cb.currentIndexChanged.connect(self.selectionChange) layout.addWidget(self.label) layout.addWidget(self.cb) self.setLayout(layout) #i表示第几个下拉框被选中 def selectionChange(self, i): #设置label的内容为下拉框的选中内容 self.label.setText(self.cb.currentText()) #自动跳转label的大小 self.label.adjustSize() #循环下拉框 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) main = QComboxDemo() main.show() sys.exit(app.exec_())