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

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

【问题讨论】:

    标签: c++ qt qgraphicsview


    【解决方案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()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多