سؤال

لدي قائمة من qtreewidgetItems (مع الأطفال) في qtreewidget. أنا لا أستخدم نموذجًا لبياني.

من نافذة أخرى في طلبي ، يمكن للمستخدم التنقل من خلال نفس مجموعة البيانات (تم عرضها بشكل مختلف) و QTREewIdget في النافذة الأولى ثم يسلط الضوء على هذا الصف المحدد عن طريق ضبط لون الخلفية.

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

أظن أن هذا يرجع إلى خوارزمية الفرز لـ qtreewidget ، ولكن هل يعرف أي شخص حلًا محتملًا لهذا؟

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

المحلول

هل تستخدم QItemSelectionModel للقيام بذلك ، أم أنك كتبته بنفسك؟

  • إذا كتبت ذلك بنفسك أود أن أقترح استخدامه QItemSelectionModel.
  • إذا لم تقم بذلك ، يبدو أنك تريد خوارزمية فرز مخصصة تتطلب إنشاء مشتقة QTreeWidget, ، إذا كنت تفعل ذلك ، فقد تستخدم أيضًا QTreeView وعرف QAbstractItemModel.

وأيضًا ، إذا كان لديك عرضان من نفس البيانات ، فسأوصى بشدة باستخدام نموذج/عرض إطار و QTreeView.

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