سؤال

أطر عرض رسومات QT قوية للغاية ، لكنني لم أجد طريقة لدعم الطبقات المخصصة. في QT ، هناك QGraphicsScene :: Itemlayer ، لكن QGraphicsScene يجعل جميع العناصر موجودة في هذه الطبقة. أريد إدارة العناصر بعدة طبقات ، تمامًا مثل Illustrator و Coreldraw. جميع العناصر في الطبقة الحالية فقط سوف تتلقى الحدث ، أو يتم تحديدها أو الحصول على التركيز الرئيسي وما إلى ذلك .. لن تتلقى الطبقات الأخرى (وليس الطبقة الحالية) حدث المشهد. معظم أسباب استخدام الطبقات هي أنه يمكنني تصنيف عدد كبير من العناصر بشكل أكثر وضوحًا. ودون الحاجة إلى نقل أحداث النقل إلى جميع عناصر الطبقات ، أعتقد أن أطر الرسومات ستكون أكثر كفاءة. السؤال الأخير ، هل يدعم QGraphicsView مشاهد الرسومات المكدسة لـ QGraphicsView في نفس الوقت؟ إذا كان الدعم ، أعتقد أنه يمكن حل "الطبقات المخصصة" بهذه الطريقة. شكرا جزيلا!

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

المحلول

أستطيع أن أرى طريقتان لتحقيق طبقات العناصر:

  • يمكنك استخدام QGraphicsItemGroupإلى مجموعة العناصر.
  • أو وضع عناصر من نفس "الطبقة" في الأبوين QGraphicsItem التي لا ترسم أي شيء.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top