سؤال

أرغب في استخدام 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 الحالي والتي تخفي التعيين.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top