رسم كيو تي بدون مسح الخلفية
-
10-07-2019 - |
سؤال
أنا أستخدم QPainter للحصول على بعض الرسومات على النافذة.لسوء الحظ في كل مرة paintEvent()
يتم استدعاء الوظيفة، ويتم مسح النافذة بأكملها.كيف يمكنني الرسم بدون مسح؟أي.كيف أترك الأشياء من حدث الطلاء السابق دون أن تمس؟
أنا أستخدم Qt4
المحلول
وتحتاج إلى تعيين backgroundMode
باستخدام في setBackgroundMode
اضع. والتعداد Qt::NoBackground
هو ما كنت تبحث عنه.
نصائح أخرى
وبما أن كلا الردين مخصصان لـ Qt3 فقط، فإليك الحل لـ Qt4.تحتاج إلى الاتصال
setAttribute(Qt::WA_OpaquePaintEvent);
(على سبيل المثال في المنشئ) بعد الوثائق هنا.
في Qt3، تعيين علامة Qt::WNoAutoErase
من WidgetFlags التعداد لتجنب هذا الإطار تم مسح على كل حدث الطلاء.
ويمكنك ضبط هذا العلم بتمريرها إلى QWidget منشئ .
لا تنتمي إلى StackOverflow