technique plus classique de QPainter.
Imaginons à présent que vous vouliez :
agrandir le smiley de 50 % ;
lui appliquer une rotation de 20° dans le sens des aiguilles d'une montre ;
le déplacer avec le souris.
Dans une approche classique, vous devriez programmer des calculs de coordonnées
assez laborieux, ainsi qu'une gestion sans fautes des événements souris (enfoncer un
bouton, déplacer, lâcher le bouton). Avec le framework Graphics View, ces fonctions
sont programmées en exactement trois instructions qu'on comprend sans explications !
smiley.setScale(1.5)
smiley.setRotation(20.)
smiley.setFlag(QGraphicsItem.ItemIsMovable)
À l'exécution, on voit que les deux transformations ont bien été opérées ; de plus, on
peut déplacer la figure par glisser-déposer avec la souris.
Figure 11.3 : Exemple de scène — 3
206
Imaginons à présent que vous vouliez :
agrandir le smiley de 50 % ;
lui appliquer une rotation de 20° dans le sens des aiguilles d'une montre ;
le déplacer avec le souris.
Dans une approche classique, vous devriez programmer des calculs de coordonnées
assez laborieux, ainsi qu'une gestion sans fautes des événements souris (enfoncer un
bouton, déplacer, lâcher le bouton). Avec le framework Graphics View, ces fonctions
sont programmées en exactement trois instructions qu'on comprend sans explications !
smiley.setScale(1.5)
smiley.setRotation(20.)
smiley.setFlag(QGraphicsItem.ItemIsMovable)
À l'exécution, on voit que les deux transformations ont bien été opérées ; de plus, on
peut déplacer la figure par glisser-déposer avec la souris.
Figure 11.3 : Exemple de scène — 3
206
