المفتاح/القيمة PYQT QCOMBOBOX
سؤال
أرغب في استخدام QCOMBOBOX مع "المفاتيح" و "القيم" من تول مماثلة لتلك المستخدمة في نماذج Django. على سبيل المثال لدي الهيكل التالي لجنس الشخص.
SEX_CHOICES = (('M', 'Male'), ('F', 'Female'))
يحتوي العنصر الأول من tuple على رمز الجنس المخزّن في قاعدة البيانات ، والثاني النص الذي أرغب في عرضه في QCombobox كعنصر.
هل هناك طريقة في Wich يمكنني ضبط قيمة QCombobox كـ M ويعرض الذكور. أيضًا عندما يحدد المستخدم العنصر الذكور ، يمكنني الحصول على القيمة المحددة مثل M.
شكرًا
المحلول
يستخدم
cb.addItem ( text, userData )
وتمرير مفتاح DB كما userData
. إذا كنت بحاجة إلى تغيير التحديد الحالي ، فاستخدم cb.itemData()
للحصول على مفتاح DB لكل عنصر ومقارنته بالمفتاح الذي تحتاجه.
بدلاً من ذلك ، قم بتسجيل الفهارس أثناء إضافة عناصر في خريطة Python واستخدم هذا للبحث مباشرة عن الفهرس الصحيح.
لجعل الأمور أكثر سهولة في الاستخدام ، لف QComboBox
مع فئة Python التي توفر المستقلين والغزوات لمفتاح DB الحالي والتي تخفي التعيين.