你如何转换/画一个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()
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top