On utilise ici les méthodes de commodité offertes par QGrapicsScene pour créer les
éléments et les intégrer directement à la scène.
L'élément texte est vide au départ, car on va l'initialiser via le champ de saisie (voir
listing suivant).
La méthode items() renvoie la liste de tous les éléments placés sur la scène. La
boucle permet de facilement assigner des propriétés communes à ces éléments en
invoquant des méthodes de la classe parente QGraphicItem. Ici, on impose que tous
les éléments puissent être déplacés et sélectionnés à la souris, contrairement à ce
qu'on avait fait à la section précédente.
Le programme principal est classique pour une application PyQt : création de
l'application et de l'instance de la fenêtre principale et démarrage de la boucle
d'événements.
À l'exécution, on retrouve bien la scène vue à la section précédente, affichée dans les
deux vues. Toutefois, on constate qu'à présent tous les éléments peuvent être déplacés,
y compris chaque œil du smiley. On peut aussi sélectionner chaque élément en cliquant
dessus, ce qui est dénoté par un rectangle hachuré. La multisélection et la désélection
sont possibles aussi en maintenant la touche Ctrl enfoncée. On peut aussi sélectionner
les éléments par lasso. On constate aussi que, grâce à la multisélection, plusieurs
éléments peuvent être déplacés ensemble.
Figure 11.9 : Fenêtre avec vues — v0.1
219
éléments et les intégrer directement à la scène.
L'élément texte est vide au départ, car on va l'initialiser via le champ de saisie (voir
listing suivant).
La méthode items() renvoie la liste de tous les éléments placés sur la scène. La
boucle permet de facilement assigner des propriétés communes à ces éléments en
invoquant des méthodes de la classe parente QGraphicItem. Ici, on impose que tous
les éléments puissent être déplacés et sélectionnés à la souris, contrairement à ce
qu'on avait fait à la section précédente.
Le programme principal est classique pour une application PyQt : création de
l'application et de l'instance de la fenêtre principale et démarrage de la boucle
d'événements.
À l'exécution, on retrouve bien la scène vue à la section précédente, affichée dans les
deux vues. Toutefois, on constate qu'à présent tous les éléments peuvent être déplacés,
y compris chaque œil du smiley. On peut aussi sélectionner chaque élément en cliquant
dessus, ce qui est dénoté par un rectangle hachuré. La multisélection et la désélection
sont possibles aussi en maintenant la touche Ctrl enfoncée. On peut aussi sélectionner
les éléments par lasso. On constate aussi que, grâce à la multisélection, plusieurs
éléments peuvent être déplacés ensemble.
Figure 11.9 : Fenêtre avec vues — v0.1
219
