【问题标题】:PyQT5 QComboBox - get value of comboboxPyQT5 QComboBox - 获取组合框的值
【发布时间】:2016-10-26 09:34:45
【问题描述】:

我对 Qt 还是很陌生,但我正在开发一种计算器,并希望使用组合框来选择系数。我已经成功地在 pyGT 中创建了一个带有列表存储的组合框,但看起来 pyQT 完全不同。

我很难理解数据模型和列表模型。本质上,我希望在组合框中显示一个名称,并将该名称的值传递给计算器方程。到目前为止,我所看到的一切都只是单个条目,而不是“关联”条目。

任何人都可以解释或指向一个教程来指导我完成我想要完成的工作吗?

【问题讨论】:

    标签: python pyqt5 qcombobox


    【解决方案1】:

    您可以使用addItem 来添加具有关联值(数据)的名称(文本):

        self.combo.addItem('Foo', 23)
        self.combo.addItem('Bar', 42)
    

    一个插槽可以连接到组合框的activated信号,它将发送用户选择的项目的索引:

        self.combo.activated.connect(self.handleActivated)
    

    然后您可以使用itemTextitemData 通过index 参数访问名称和值:

        def handleActivated(self, index):
            print(self.combo.itemText(index))
            print(self.combo.itemData(index))
    

    【讨论】:

    • 注意:如果你做 "itemData" pyqt 返回 QtVariant 类,你可以使用 self.combo.itemData(index).toString() 来获取值
    • @Jaziel_Inc 这仅在 PyQt4 中需要,它现在已过时且不再受支持。这个问题是关于 PyQt5 的。
    猜你喜欢
    • 2021-05-31
    • 2017-02-04
    • 1970-01-01
    • 2011-10-17
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多