سؤال

لدي ListBox أنه يمكنك تحديد المستخدمين. إلى يسار ذلك هو سرد المجموعات المتاحة، يمكن وضعه المستخدم. إذا كان المستخدم في مجموعة، فسيتم تعيين COMBOBOX تلقائيا على تلك المجموعة. أريد أن أجعله إذا قمت بتغيير اختيار المجموعة، فسوف يقوم الأمر بنقل المستخدم إلى تلك المجموعة. أضفت هذا الاتصال:

QtCore.QObject.connect(self.GroupsBox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.HandleGrouping)

المشكلة هي أنه نظرا لأنني سأختار مستخدمين مختلفين في مجموعات مختلفة، في كل مرة أقوم فيها بتحديد مستخدم جديد، يقوم الخيار الافتراضي بتغييرات COMBOBOX و QT يسجل هذا كإشارة "جيروسترينديكشانشن".

يبدو أنه لا توجد وسيلة لإطلاق إشارة فقط على تفاعل المستخدم المباشر مع القطعة نفسها. ما هي الطرق التي يمكنني استخدامها للعمل حول هذا؟

هل كانت مفيدة؟

المحلول

قبض على إشارة من QCombobox (activated(int index))، وتحديث المستخدم المحدد بناء على ذلك. في وظيفة معالجتك، لا تفعل أي شيء إذا كان الفهرس المحدد في combobox هو نفسه المجموعة التي يكون فيها المستخدم المحدد.

ربما حرك combobox الخاص بك إلى يمين مربع قائمة المستخدمين، حيث سيتم تحديد طلبك من الإجراءات، حدد المجموعة.

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