python - 如何使 QCombobox 可扩展用于分层项目?(PyQT5)
问题描述
我有一些字典变量,例如:
{"Courses" : ["Math" , "Science" , "English"]} ,
{"Cars" : ["Ford" , "BMW" , "Mercedes"]} , etc.
当我获得 QCombobox 的选定值时,我失去了它所应用的密钥!
解决方案
解决这个问题的一种方法是在你的类中添加一个辅助函数,它会为你打印密钥:
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])
推荐阅读
- spring-boot - 应用程序上下文中的依赖关系形成一个循环
- scala - 我们如何加入 Spark 中的选项列?
- python - 如何提交、等待并获得 mechanize 的响应?
- node.js - 节点调度是否阻塞了事件循环?
- terraform - Terraform 远程状态 - 状态文件位置
- reactjs - React 说没有文件或目录,但文件在那里,如果我重命名文件,错误就会消失
- c# - 如何在 newman 上指定要在哪个端口和主机上运行
- google-sheets - 有没有办法可以将 Salesforce 数据导出并堆叠到谷歌表格?
- python-3.x - 如何使用 Python hashlib 或 zlib 在 crc32 中散列密钥和秘密消息?
- android - java.lang.NumberFormatException:对于输入字符串:“某事”