尝试从ComboBox的字典中获取值并将键插入textEdit中

时间:2019-11-23 16:04:24

标签: python pyqt pyqt5

我有一个字典和一个显示字典值的组合框,我需要在textEdit中打印用户选择的字典值的键。 这是我的代码。

push

我知道函数retrieveText不能满足我的要求,但这只是一次尝试,而且也没有任何输出。

1 个答案:

答案 0 :(得分:0)

您必须通过itemData保存与键关联的值,并在选择一个项目时获取它。

class MainPage(QMainWindow):

    classi = {
        None: None,
        "C25/30": 14.17,
        "C28/35": 15.87,
        "C32/40": 18.13,
        "C35/45": 19.83,
        "C40/50": 22.6,
        "C45/55": 25.5,
        "C50/60": 28.3,
    }

    def __init__(self):
        super(MainPage, self).__init__()
        loadUi("Concrete.ui", self)
        self.comboBox.currentIndexChanged[int].connect(self.retrieveText)
        self.fillCombobox()

    def fillCombobox(self):
        for key, value in self.classi.items():
            self.comboBox.addItem(key, value)

    @pyqtSlot(int)
    def retrieveText(self, index):
        x = self.comboBox.itemData(index)
        if x is not None:
            self.textEdit.setText(str(x))