我想使用一个带有元组中的“键”和“值”的QComboBox,类似于django模型中使用的那些。例如,我对一个人的性别有以下结构。
SEX_CHOICES = (('M', 'Male'), ('F', 'Female'))元组的第一个项目包含存储在数据库中的性别代码,第二个项目是我希望在QComboBox中作为一个项目显示的文本。
有没有一种方法可以将QComboBox值设置为M,它就会显示为Male。同样,当用户选择元素Male时,我可以获得选定值M。
谢谢
发布于 2010-04-20 21:21:22
使用
cb.addItem ( text, userData )并将DB密钥作为userData传递。如果您需要更改当前选择,请使用cb.itemData()获取每个项目的DB密钥,并将其与您需要的密钥进行比较。
或者,在Python映射中添加项时记录索引,并使用它直接查找正确的索引。
为了更容易使用,使用Python类包装QComboBox,该类为当前DB键提供setter和getter,并隐藏映射。
https://stackoverflow.com/questions/2675296
复制相似问题