Question

Comment convertir / peindre un QGraphicsTextItem dans un QPixmap?

Était-ce utile?

La solution

Vous pouvez l'ajouter à un QGraphicsScene (si ce n'est pas déjà à l'intérieur d'un) et render() alors 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 avoir changé la police actuelle du peintre. il devrait fournir les mêmes capacités.

Peut-être quelque chose comme ça -

QPixmap pix(100, 100);
QPainter paint(&pix);
paint.drawText(0, 0, "Hello World");

Autres conseils

La fonction Document :: QGraphicsTextItem () est la porte arrière vous cherchez:

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

QPainter tmpPainter(&srcPixmap);
pItem->document()->drawContents(&tmpPainter);
tmpPainter.end()
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top