I want to use a QComboBox with the "keys" and "values" from a tuple similar to the ones used in a django models. For example I have the following structure for a person's sex.
SEX_CHOICES = (('M', 'Male'), ('F', 'Female'))
The first item of the tuple contains the code of the sex that is stored in the database, and the second one the text that I want to display in the QComboBox as an item.
Is there a way in wich I could set the QComboBox value as M and it displays Male. An also when the user select the element Male I could get the selected value as M.
Thanks
Use
cb.addItem ( text, userData )
and pass the DB key as userData
. If you need to change the current selection, use cb.itemData()
to get the DB key of each item and compare it to the one you need.
Alternatively, record the indexes as you add items in a Python map and use this to directly look up the correct index.
To make things more easy to use, wrap the QComboBox
with a Python class that offers setters and getters for the current DB key and which hides the mapping.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With