2009-08-07 5 views

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()