首页 > 解决方案 > 如何使 QCombobox 可扩展用于分层项目?(PyQT5)

问题描述

我有一些字典变量,例如:

{"Courses" : ["Math" , "Science" , "English"]} , 
{"Cars" : ["Ford" , "BMW" , "Mercedes"]} , etc.

当我获得 QCombobox 的选定值时,我失去了它所应用的密钥!

标签: pythonpyqt

解决方案


解决这个问题的一种方法是在你的类中添加一个辅助函数,它会为你打印密钥:

    def getKey(self):
        current = self.sender()
        for key, val in self.combo.items():
            if val == current:
                print(key, val.currentText())

然后我将此功能连接到您的组合框:

    for k in lst:
        self.combo[k] = QComboBox()
        self.combo[k].addItems(lst[k])
        self.combo[k].currentIndexChanged.connect(self.getKey)
        self.layout.addWidget(self.combo[k])

推荐阅读