Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想将 QComboBox 与元组中的“键”和“值”一起使用,类似于 django 模型中使用的元组。例如,对于一个人的性别,我有以下结构。
SEX_CHOICES = (('M', 'Male'), ('F', 'Female'))
元组的第一项包含存储在数据库中的性别代码,第二项包含我想在 QComboBox 中作为项目显示的文本。
有没有办法可以将 QComboBox 值设置为 M 并显示 Male。同样,当用户选择元素 Male 时,我可以将所选值设为 M。
谢谢
利用
cb.addItem ( text, userData )
并将 DB 密钥作为userData. 如果您需要更改当前选择,请使用cb.itemData()获取每个项目的 DB 键并将其与您需要的进行比较。
userData
cb.itemData()
或者,在 Python 映射中添加项目时记录索引,并使用它直接查找正确的索引。
为了让事情更容易使用,QComboBox用一个 Python 类包装,该类为当前 DB 键提供 setter 和 getter,并隐藏映射。
QComboBox