QPixmap для QGraphicsTextItem - PullRequest
       9

QPixmap для QGraphicsTextItem

1 голос
/ 07 августа 2009

Как конвертировать / рисовать QGraphicsTextItem в QPixmap?

Ответы [ 2 ]

4 голосов
/ 07 августа 2009

Вы можете добавить его к 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");
0 голосов
/ 09 июня 2012

Функция QGraphicsTextItem :: document () - это задняя дверь, которую вы ищете:

// pItem is a QGraphicsTextItem *
QPixmap srcPixmap(pItem->boundingRect().size().toSize());

QPainter tmpPainter(&srcPixmap);
pItem->document()->drawContents(&tmpPainter);
tmpPainter.end()
...