将项目添加到QcomboBox而不更改当前所选项目

问题描述 投票:-1回答:1

我想将项目添加到comboBox对象,但是当前项目将更改为新添加的项目。

示例:

#comboBox have initial item "initial item"
comboBox.addItem("new added item1")
comboBox.addItem("new added item2")

现在上面的示例会将当前项目更改为"new added item2"。添加新项目时,是否可以将当前文本保留为"initial item"

python python-3.x pyqt pyqt5
1个回答
1
投票

您可以使用insertItem()方法并指定项目的位置:

import sys

from PyQt5.QtWidgets import QDialog, QApplication, QComboBox, QGridLayout


class MainWindow(QDialog):
    def __init__(self):
        super().__init__()
        comboBox = QComboBox()
        comboBox.addItem('first item')
        comboBox.insertItem(1, 'second item')
        lay = QGridLayout(self)
        lay.addWidget(comboBox)
        self.setLayout(lay)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    GUI = MainWindow()
    GUI.show()
    sys.exit(app.exec_())

如果您想一次添加多个项目,只需使用:

comboBox.addItems(['first item', 'second item'])

查看QComboBox documentation了解更多信息。>>

© www.soinside.com 2019 - 2024. All rights reserved.