【发布时间】:2009-08-07 12:32:17
【问题描述】:
如何将 QGraphicsTextItem 转换/绘制成 QPixmap?
【问题讨论】:
标签: c++ qt qgraphicsview
如何将 QGraphicsTextItem 转换/绘制成 QPixmap?
【问题讨论】:
标签: c++ qt qgraphicsview
您可以将其添加到QGraphicsScene(如果它不在其中),然后使用QPainterrender() 将场景添加到QPixmap
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()
【讨论】: