16.PyQt5【基本组件】下拉列表-QComboBox

一、前言

QComboBox 提供一个下拉列表,其中包含可供选择的项目。只显示当前选定的项目所需的窗体上的最小屏幕空间。

二、学习目标

1.QComboBox常用方法

2.QComboBox常用信号

3.QComboBox组件的应用

三、知识点

1.【QComboBox常用方法】

方法 描述
addItem() 增加单个选项内容
addItems() 增加多个, 参数为列表
Clear() 删除下拉列表中的所有选项
Count() 返回下拉列表中的所有项目数量
currentText() 返回当前选中项的文本
itemText(i) 获取索引为i的item文本
setItemText(i) 设置索引为i的item文本
currentIndex 返回当前选中项的索引

2.【QComboBox常用信号】

名称 描述
activated() 选中一个下拉选项的时候发射,不管是否和上次相同
currentIndexChanged() 下拉选项的索引发生变化时发射,如果本次选中的和之前的相同,则不会发射
highlighted() 不管焦点停留在哪个上面都会触发此信号,但是返回的currentText仍为蓝色显示的条目,而不是光标移动到的条目,传递的第二个参数是光标移动到的index

3.【QComboBox组件的应用】

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QComboBox


class QmyWidget(QWidget):

    def __init__(self, parent=None):
        super().__init__(parent)  # 调用父类的构造函数,创建QWidget窗体
        self.setupUi()

    def setupUi(self):
        """页面初始化"""
        # 设置窗体大小及标题
        self.resize(500, 400)
        self.setWindowTitle("QComboBox组件示例")
        # 创建布局
        self.layout = QVBoxLayout()

        # QComboBox组件定义
        self.combo = QComboBox(self)
        # QComboBox组件设置
        self.itmes = ["one", "two", "three", "four"]
        self.combo.addItem("zero")   # 设置单个项目
        self.combo.addItems(self.itmes)   # 设置多个项目
        # QComboBox关联信号
        self.combo.activated.connect(self.on_combo_activated)

        # 将组件添加到布局中
        self.layout.addWidget(self.combo)
        # 为窗体添加布局
        self.setLayout(self.layout)

    def on_combo_activated(self, index):
        """combo组件槽函数"""
        print("combo下拉列表被切换啦:{}!".format(index))


if __name__ == '__main__':
    app = QApplication(sys.argv)
    myMain = QmyWidget()
    myMain.show()
    sys.exit(app.exec_())
  • 关键代码

            # QComboBox组件定义
            self.combo = QComboBox(self)
            # QComboBox组件设置
            self.itmes = ["one", "two", "three", "four"]
            self.combo.addItem("zero")   # 设置单个项目
            self.combo.addItems(self.itmes)   # 设置多个项目
            # QComboBox关联信号
            self.combo.activated.connect(self.on_combo_activated) # combo下拉列表关联信号,切换项目时触发
    

    QComboBox下拉列表增加项目有两种方式,一种是通过addItem()方法增加单个项目;一种是通过addItems()方法增加多个项目

posted @ 2023-01-16 10:42  测开星辰  阅读(612)  评论(0编辑  收藏  举报