Je souhaite dessiner un rectangle avec du texte dedans.
Pour cela, je fait dans ma classe qui hérite de QGraphicsPolygonItem:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const int offset_box = 5;
 
MonPolygone::MonPolygone(const QString &string)::...{
name = string;
QFont f = qApp->font();
f.setPointSizeF(20);
 
QFontMetrics fm(f);
QRect rect = fm.boundingRect(name);
QRectF frect(rect);
frect.adjust(-offset_box, -offset_box, offset_box, offset_box);
 
myPolygon << frect.topRight() << frect.bottomRight() << frect.bottomLeft() << frect.topLeft() << frect.topRight();
setPolygon(myPolygon);
...
}
Ça marche, mais je souhaite diminuer la taille de la police, donc je change la ligne suivante: f.setPointSizeF(10);
Et là, ça diminue le rectangle mais pas le texte à l'intérieur.
Je n'arrive pas à comprendre comment cela fonctionne, et je ne trouve pas d'autres exemples comme ça. Pouvez-vous m'aider s'il vous plaît?