l'utilisateur et, au besoin, les relayer aux éléments concernés : clic souris
(sélection d'un élément, affichage d'un menu contextuel…), frappes clavier
(copier-coller, suppression…), etc.
Figure 10.2 : Scène, éléments et vues
On l'aura compris : le framework utilise en fait le patron de conception modèle-vue
dont nous avons déjà parlé, le modèle étant ici la scène avec tous ses éléments. Une
fois qu'on a créé une scène et une vue qui lui est attachée, tout changement fait sur la
scène est automatiquement répercuté sur la vue et donc visible à l'écran :
ajout/suppression/déplacement d'un élément, changement d'une couleur, etc. Par
ailleurs, on peut créer dans la même application plusieurs vues sur la même scène,
visibles à tour de rôle ou même toutes en même temps ; ce principe permet par exemple
d'avoir en vis-à-vis une vue globale fixe et une vue détaillée qui fait un zoom sur une
portion particulière de la scène — un système utilisé souvent dans les applications
cartographiques et… les jeux de type STR (stratégie temps-réel).
Dans la suite, nous donnons quelques détails supplémentaires sur les classes —
QGraphicsScene, QGraphicsItem et QGraphicsView — qui viennent d'être citées. Il est
vivement recommandé, en complément, de consulter la documentation officielle de ces
182
(sélection d'un élément, affichage d'un menu contextuel…), frappes clavier
(copier-coller, suppression…), etc.
Figure 10.2 : Scène, éléments et vues
On l'aura compris : le framework utilise en fait le patron de conception modèle-vue
dont nous avons déjà parlé, le modèle étant ici la scène avec tous ses éléments. Une
fois qu'on a créé une scène et une vue qui lui est attachée, tout changement fait sur la
scène est automatiquement répercuté sur la vue et donc visible à l'écran :
ajout/suppression/déplacement d'un élément, changement d'une couleur, etc. Par
ailleurs, on peut créer dans la même application plusieurs vues sur la même scène,
visibles à tour de rôle ou même toutes en même temps ; ce principe permet par exemple
d'avoir en vis-à-vis une vue globale fixe et une vue détaillée qui fait un zoom sur une
portion particulière de la scène — un système utilisé souvent dans les applications
cartographiques et… les jeux de type STR (stratégie temps-réel).
Dans la suite, nous donnons quelques détails supplémentaires sur les classes —
QGraphicsScene, QGraphicsItem et QGraphicsView — qui viennent d'être citées. Il est
vivement recommandé, en complément, de consulter la documentation officielle de ces
182
