محرر نص كيو تي على الصورة
-
10-12-2019 - |
سؤال
لم أجد سؤالا محددا حول هذا الموضوع.
لدي صورة، يمكن أن تكون فارغة من أجل المثال، أو تحتوي على شيء أريد إضافة تعليق رائع إليه.أريد إضافة وسائل تحرير النص (أشبه بالفوتوشوب) أعلى الصورة.
أنا أفكر في فئة فرعية QGraphicsScene
ووضع فئة فرعية QTextEdit
كائن على الساحة عند الضغط على زر وضع النص.بعد ذلك، عند النقر فوق هذا الكائن، بالإضافة إلى تحرير النص، تتوفر أدوات إضافية لتحرير النص - بحيث يمكنك تعيين أجزاء من النص إلى غامق أو مائل، وتعديل اللون والحجم، وما إلى ذلك.ومن ثم ستتمكن من تغيير موضع الكائن - وأعتقد أن هذا متاح في QGraphicsScene
بشكل افتراضي.وبالنسبة للخلفية QBrush
, ، ستكون هناك صورة خلفية.
هل هذا حل معقول؟
ربما توجد أمثلة جاهزة لذلك، لكني لم أجدها بعد.
المحلول
بلدي الحل
عنصر النص:بالنسبة للعنصر النصي، استخدمت QGraphicsScene
مع فئة فرعية QGraphicsTextItem
.بالنسبة لصورة الخلفية، استخدمت QGraphicsRectItem
مع QBrush
وصورة محملة باستخدام QImage
طُرق.
لتحرير أجزاء من النص المحدد في فئة QGraphicsTextItem الفرعية هذه:
QTextCharFormat
يتم تطبيقه على فئتي الفرعية QGraphicsTextItem
استخدام QGraphicsTextItem::textCursor().mergeCharFormat(...)
.بهذه الطريقة يمكنني تغيير التنسيق، مثل الخط الغامق والمائل وما إلى ذلك.على الاختيار فقط.
بعض الأشياء الأخرى:لتحريك المشهد وتكبيره/تصغيره، استخدمت دليلًا ممتازًا من Vpicaver مزودًا بكود المصدر من http://www.qtcentre.org/wiki/index.php?title=QGraphicsView:_Smooth_Panning_and_Zooming