QPixmap QGraphicsTextItem
-
12-09-2019 - |
Вопрос
Как конвертировать/рисовать QGraphicsTextItem в QPixmap?
Решение
Вы можете добавить его в QGraphicsScene
(если его еще нет внутри), а затем render()
сцена в QPixmap
используя QPainter
QPixmap pix(100, 100);
QPainter paint(&pix);
scene.render(&paint);
Или вы можете избавить себя от хлопот и просто использовать QPainter::drawText()
после изменения текущего шрифта художника.он должен предоставлять те же возможности.
Может быть, что-то вроде этого-
QPixmap pix(100, 100);
QPainter paint(&pix);
paint.drawText(0, 0, "Hello World");
Другие советы
Функция QGraphicsTextItem::document() — это черный ход, который вы ищете:
// pItem is a QGraphicsTextItem *
QPixmap srcPixmap(pItem->boundingRect().size().toSize());
QPainter tmpPainter(&srcPixmap);
pItem->document()->drawContents(&tmpPainter);
tmpPainter.end()
Не связан с StackOverflow