QGraphicsTextItem的QPixmap

时间:2009-08-07 12:32:18

标签: c++ qt qgraphicsview

如何将QGraphicsTextItem转换/绘制到QPixmap中?

2 个答案:

答案 0 :(得分:4)

您可以将其添加到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");

答案 1 :(得分:0)

QGraphicsTextItem :: document()函数是您正在寻找的后门:

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

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