[PyQt5]基本控件8 - 下拉列表QComboBox

PyQt5系列文章

基本控件 - - -
1.按钮QPushButton 2.标签QLabel 3.可编辑框QTextEdit 4.文本提示QToolTip
5.单行输入框QLineEdit 6.消息框QMessageBox 7.单选按钮QRadioButton 8.下拉列表QComboBox
9.图片显示QPixmap 10.分组框QGroupBox 11.进度条QProgressBar 12.对话框QDialog
13.进度条对话框QProgressDialog 14.复选框QCheckBox 15.滑块QSlider 16.状态栏QStatusBar
17.文件对话框QFileDialog 18.工具栏QToolBar 19.分割条QSplitter 20.菜单栏QMenuBar
21.滚动条QScrollBar 22.时间编辑框QTimeEdit 23.日期编辑框QDateEdit 24.时间日期编辑框QDateTimeEdit
高级控件 - - -
1.列表控件QListWidget 2.表格控件QTableWidget 3.树形控件QTreeWidget 4.选项卡QTabWidget
5.浮动窗口QDockWidget 6.堆叠窗口QStackedWidget 7.堆叠布局QStackedLayout 8.网格布局QGridLayout
9.表单布局QFormLayout 10.水平布局QHBoxLayout 11.垂直布局QVBoxLayout 12.日历QCalendarWidget
13.线程QThread 14.定时器QTimer - -

效果图

在这里插入图片描述

完整代码


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,可以在该函数中处理选项改变的逻辑。

猜你喜欢

转载自blog.csdn.net/yurensan/article/details/120962576