PyQt5系列文章
效果图
完整代码
import sys
from PyQt5.QtWidgets import QComboBox,QHBoxLayout,QWidget,QApplication,QMainWindow
class QComboBoxDemo(QMainWindow):
def __init__(self):
super(QComboBoxDemo, self).__init__()
#设置窗口大小
self.resize(400, 150)
#设置窗口标题
self.setWindowTitle("QComboBoxDemo")
self.comboBox = QComboBox()
self.comboBox.addItems(['C','C#','C++'])
self.comboBox.currentIndexChanged.connect(self.itemChange)
#创建水平布局
layout = QHBoxLayout()
layout.addWidget(self.comboBox)
mainFrame = QWidget()
mainFrame.setLayout(layout)
self.setCentralWidget(mainFrame)
def itemChange(self, i):
print(self.comboBox.currentText() + " is selected")
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QComboBoxDemo()
main.show()
sys.exit(app.exec_())
其中最关键的代码是
self.comboBox.addItems(['C','C#','C++'])
这里调用addItems
一次性添加多个选项。
self.comboBox.currentIndexChanged.connect(self.itemChange)
QComboBox
的选项改变函数为currentIndexChanged
,对应的响应函数是自定义的itemChange
,可以在该函数中处理选项改变的逻辑。