QGraphicsTextItem 的 QPixmap

Posted

技术标签:

【中文标题】QGraphicsTextItem 的 QPixmap【英文标题】:QPixmap of a QGraphicsTextItem 【发布时间】:2009-08-07 12:32:17 【问题描述】:

如何将 QGraphicsTextItem 转换/绘制成 QPixmap?

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

QGraphicsTextItem::document() 函数是你要找的后门:

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

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

【讨论】:

以上是关于QGraphicsTextItem 的 QPixmap的主要内容,如果未能解决你的问题,请参考以下文章

更改 QGraphicsTextItem 内文本的突出显示颜色

如何识别QGraphicsItem和QGraphicsTextItem-CSDN论坛

PySide QGraphicsTextItem 问题

QGraphicsTextItem 是不是支持垂直居中对齐?

QGraphicsTextItem的分页:将文本限制在特定的矩形区域

编辑文本 - 如何更改光标位置?