Comment convertir/peindre un QGraphicsTextItem dans un QPixmap?QPixmap d'un QGraphicsTextItem
1
A
Répondre
4
Vous pouvez l'ajouter à un QGraphicsScene
(si ce n'est pas déjà à l'intérieur d'un), puis render()
la scène à un QPixmap
en utilisant un QPainter
QPixmap pix(100, 100);
QPainter paint(&pix);
scene.render(&paint);
Ou, vous pouvez vous épargner la peine et il suffit d'utiliser QPainter::drawText()
après changer la police actuelle du peintre. il devrait fournir les mêmes capacités.
Peut-être quelque chose comme this- fonction
QPixmap pix(100, 100);
QPainter paint(&pix);
paint.drawText(0, 0, "Hello World");
0
Document :: Le QGraphicsTextItem() est la porte arrière que vous recherchez:
// pItem is a QGraphicsTextItem *
QPixmap srcPixmap(pItem->boundingRect().size().toSize());
QPainter tmpPainter(&srcPixmap);
pItem->document()->drawContents(&tmpPainter);
tmpPainter.end()