启动时在 QcomboBox 中显示特定项目

Posted

技术标签:

【中文标题】启动时在 QcomboBox 中显示特定项目【英文标题】:Display a specific item in QcomboBox at start up 【发布时间】:2019-10-26 09:21:08 【问题描述】:

我有一个QcomboBox,里面有一些东西。当小部件启动并显示来自QcomboBox 的第一项时。 QcomboBox怎么会被开机强制在列表中显示第三项( Index(2))

from PyQt5 import QtWidgets, QtGui

class combo(QtWidgets.QWidget):
    def __init__(self, parent = None):
        super(combo, self).__init__(parent)

        layout = QtWidgets.QHBoxLayout(self)

        self.cb = QtWidgets.QComboBox()
        self.cb.addItems(["1", "2", "3","4"])
        layout.addWidget(self.cb)

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    ex = combo()
    ex.show()
    sys.exit(app.exec_())

【问题讨论】:

【参考方案1】:

可以使用 setCurrentIndex() 设置当前项目。

from PyQt5 import QtWidgets, QtGui

class combo(QtWidgets.QWidget):
    def __init__(self, parent = None):
        super(combo, self).__init__(parent)

        layout = QtWidgets.QHBoxLayout(self)

        self.cb = QtWidgets.QComboBox()
        self.cb.addItems(["1", "2", "3","4"])
        self.cb.setCurrentIndex(2)              # <---
        layout.addWidget(self.cb)

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    ex = combo()
    ex.show()
    sys.exit(app.exec_())

【讨论】:

以上是关于启动时在 QcomboBox 中显示特定项目的主要内容,如果未能解决你的问题,请参考以下文章

在启动时发送 QComboBox 中项目的当前显示索引

如何从 QComboBox 中获取所选项目以显示在 PyQt5 的 QTableWidget 中? (QComboBox 有复选框来选择项目)

仅在某些特定单元格中显示 QComboBox(通过委托)?

具有大项目数的 QComboBox 的初始显示性能缓慢

将数据分配给 QComboBox 中的项目[重复]

将项目添加到 QComboBox