va alors propager ces événements à la scène et, au besoin, aux éléments qu'elle
contient, en gérant les transformations de coordonnées entre vue et scène. Ceci a l'air
anodin, mais retrouver rapidement un élément sur lequel on a cliqué n'est pas une tâche
facile à programmer : il faut transformer les coordonnées (x,y) écran en coordonnées
de la scène, trouver l'élément qui contient ce point [14] et, s'il y en a plusieurs
superposés, garder celui qui a le plus haut indice Z. Tout ce travail est caché par le
framework qui va simplement appeler la méthode mousePressEvent sur l'élément
pointé (méthode qu'on peut bien sûr surcharger).
[13] On constate que les concepteurs de Qt ont quelque peu sacrifié la cohérence de leur
nomenclature au bénéfice de la concision !
[14] Pour cela, la scène utilise par défaut une structure de données en arbre appelée
Binary Space Partitioning (BSP). Elle permet de trouver rapidement le ou les
élément(s) à une position (x,y) donnée.
188
Précédent

- 189/494

Suivant