سؤال

لم أجد سؤالا محددا حول هذا الموضوع.

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

أنا أفكر في فئة فرعية 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

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