PyQt5 QComboBox 学习笔记

本文详细介绍了PyQt5中QComboBox的使用,包括构造函数、数据操作如添加、删除条目,数据获取,数据限制,常规操作如可编辑、清空,信号处理等,并提供了丰富的代码示例。
摘要由CSDN通过智能技术生成

PyQt5 QComboBox 下拉框学习笔记,按代码一步步来

1. 构造函数

QComboBox 的构造函数是 QComboBox(parent: QWidget = None),应用到代码中如下:

from PyQt5.Qt import *


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QComboBox 的学习")
        self.resize(500, 500)
        self.setup_ui()

    def setup_ui(self):
        cb = QComboBox(self)


if __name__ == '__main__':
    import sys

    app = QApplication(sys.argv)

    window = Window()
    window.show()
    sys.exit(app.exec_())

注意,代码中只有 cb = QComboBox(self) 这一句与生成下拉框有关,其余都是为了生成 Qt 界面窗口。之后我们只关注 QComboBox 相关代码即可。

运行后,窗口中出现一个空白的 QComboBox 下拉列表控件,后续我们可以通过操作数据的方法设置数据列表。

2. 数据操作

添加条目项

  • addItem(self, str, userData: Any = None)
  • addItem(self, QIcon, str, userData: Any = None)
  • addItems(self, Iterable[str])

插入条目项

  • insertItem(self, int, str, userData: Any = None)
  • insertItem(self, int, QIcon, str, userData: Any = None)
  • insertItems(self, int, Iterable[str])

设置条目项

  • setItemIcon(self, int, QIcon)
  • setItemText(self, int, str)
  • setItemData(self, int, Any, role: int = Qt.ItemDataRole.UserRole)

删除条目项

  • removeItem(self, int)

插分割线

  • insertSeparator(self, int)

设置当前编辑文本

  • setCurrentIndex(self, int)
  • setCurrentText(self, str)
  • setEditText(self, str)

展示代码

from PyQt5.Qt import *


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QComboBox 的学习")
        self.resize(500, 500)
        self.setup_ui()

    def setup_ui(self):
        cb = QComboBox(self)
        # 增加条目
        cb.addItem("ted 1")
        cb.addItem("ted 2")
        cb.addItems([f"ted {i}" for i in range(3,11)])
        # 设置条目
        cb.setItemText(9,"ttteed 10")
        # 插入分割线
        cb.insertSeparator(9)

        # 设置默认值
        cb.setCurrentIndex(10)
        # 按内容来匹配设置
        
QComboBoxPyQt5中的一个控件,它是一个集按钮和下拉选项于一体的控件,也称为下拉列表框。使用QComboBox可以实现在界面上显示一个下拉选项列表,并且可以根据用户的选择来修改其他控件的值或执行相关操作。 QComboBox有一些常用的方法,包括: - addItem(): 添加一个下拉选项到下拉选项列表中。 - addItems(): 从列表中添加多个下拉选项到下拉选项列表中。 - clear(): 删除下拉选项列表中的所有选项。 - count(): 返回下拉选项列表中的选项数目。 - currentText(): 返回当前选中选项的文本。 - itemText(i): 获取索引为i的选项的文本。 - currentIndex(): 返回当前选中项的索引。 - setItemText(int index, text): 改变序列号为index的选项的文本。 另外,QComboBox还有一些常用的信号,可以用于捕捉用户的操作,例如itemClicked()信号会在用户点击了一个下拉选项时发出。 根据引用所提到的应用场景,有时候下拉选项展示的内容与实际需要获取的值是不同的。比如,下拉选项显示的是部门名称,但实际需要获取的是对应部门的ID。在这种情况下,可以使用QComboBoxitemData()方法来获取对应选项的附加数据。可以将部门名称作为显示文本,将部门ID作为附加数据存储在下拉选项中,这样就能够在用户选择部门时方便地获取到对应的ID值。 综上所述,QComboBoxPyQt5中的一个功能强大的控件,可以用于显示下拉选项列表并根据用户的选择来修改其他控件的值或执行相关操作。它有一些常用的方法和信号,可以方便地操作和获取下拉选项的值和状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值