On constate encore une fois l'intérêt d'avoir utilisé la composition pour les éléments du
smiley : tout se positionne exactement là où l'on s'y attend, comme si les constituants
étaient solidement attachés.
Le smiley ayant été créé en dernier, il se place au-dessus des autres éléments. Si on
veut le placer sous le texte, mais toujours au-dessus du rectangle, on pourrait changer
l'ordre de création dans le programme. Cette approche ne convient pas toutefois si on
veut changer cet ordre dynamiquement. Comme expliqué à la Section 2.2, Classe
QGraphicsItem, on peut faire cela en jouant sur l'indice Z. Actuellement, tous les
éléments placés ont l'indice Z à 0. Pour faire passer le texte au-dessus du reste, il suffit
de lui assigner une valeur supérieure, par exemple :
texte.setZValue(1)
La Figure 11.4 illustre ce qui se passe alors, quand on déplace le smiley.
207
smiley : tout se positionne exactement là où l'on s'y attend, comme si les constituants
étaient solidement attachés.
Le smiley ayant été créé en dernier, il se place au-dessus des autres éléments. Si on
veut le placer sous le texte, mais toujours au-dessus du rectangle, on pourrait changer
l'ordre de création dans le programme. Cette approche ne convient pas toutefois si on
veut changer cet ordre dynamiquement. Comme expliqué à la Section 2.2, Classe
QGraphicsItem, on peut faire cela en jouant sur l'indice Z. Actuellement, tous les
éléments placés ont l'indice Z à 0. Pour faire passer le texte au-dessus du reste, il suffit
de lui assigner une valeur supérieure, par exemple :
texte.setZValue(1)
La Figure 11.4 illustre ce qui se passe alors, quand on déplace le smiley.
207
