我想将 QComboBox 与元组中的“键”和“值”一起使用,该元组类似于 django 模型中使用的元组。例如,我对一个人的性别有以下结构。
SEX_CHOICES = (('M', 'Male'), ('F', 'Female'))
元组的第一项包含存储在数据库中的性别代码,第二项是我想在 QComboBox 中作为项目显示的文本。
有没有办法可以将 QComboBox 值设置为 M 并显示男性。同样,当用户选择元素男性时,我可以获得所选值作为 M。
谢谢
最佳答案
用
cb.addItem ( text, userData )
并将数据库 key 传递为
userData
.如果您需要更改当前选择,请使用 cb.itemData()
获取每个项目的 DB 键并将其与您需要的进行比较。或者,在 Python 映射中添加项目时记录索引,并使用它直接查找正确的索引。
为了让事情更容易使用,包装
QComboBox
使用 Python 类为当前 DB 键提供 setter 和 getter 并隐藏映射。
关于pyqt - 键/值 pyqt QComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2675296/