instanceSurvolee = None def __init__(self,x,y,c): … CarreMosaiQ.nbInstances
+= 1 def hoverEnterEvent(self,event): … CarreMosaiQ.instanceSurvolee = self
def hoverLeaveEvent(self,event): … CarreMosaiQ.instanceSurvolee = None def
fragmente(self): … CarreMosaiQ.nbInstances -= 1
nbInstances est un attribut de classe qui contiendra à tout moment le nombre
d'instances de CarreMosaiQ (zéro au début).
instanceSurvolee est un attribut de classe qui contiendra à tout moment l'instance
de CarreMosaiQ actuellement sous le pointeur souris (None si aucune).
Note > Comme un attribut de classe est, par définition, unique au sein d'un
programme, la présente approche fait l'hypothèse qu'on ne crée les instances que
sur une seule scène ; dans le cas contraire, il faudrait placer nbInstance et
instanceSurvolee en attributs d'instance de SceneMosaiQ (ce qui nécessiterait une
gestion un peu moins simple).
Le constructeur construit une nouvelle instance, on incrémente donc le compteur.
L'appel de la méthode hoverEnterEvent signale que le pointeur vient de rentrer
dans la zone au-dessus du carré courant : on mémorise cette instance.
L'appel de la méthode hoverLeaveEvent signale que le pointeur vient de quitter la
zone au-dessus du carré courant : on met None pour indiquer qu'on n'a
momentanément aucun carré sous le pointeur.
Comme la fragmentation supprime le carré courant, on décrémente le compteur
d'une unité. Notons qu'il ne faut pas compter les quatre instances créées, car elles
sont déjà prises en compte dans le constructeur CarreMosaiQ.__init__.
On peut à présent à tout moment retrouver le nombre de carrés sur la scène via l'attribut
CarreMosaiQ.nbInstances et le carré sous le pointeur via
CarreMosaiQ.instanceSurvolee. Fort de ce mécanisme, nous pouvons compléter
l'implémentation de PanneauInfo pour exploiter ces deux attributs et afficher
l'information attendue.
255
+= 1 def hoverEnterEvent(self,event): … CarreMosaiQ.instanceSurvolee = self
def hoverLeaveEvent(self,event): … CarreMosaiQ.instanceSurvolee = None def
fragmente(self): … CarreMosaiQ.nbInstances -= 1
nbInstances est un attribut de classe qui contiendra à tout moment le nombre
d'instances de CarreMosaiQ (zéro au début).
instanceSurvolee est un attribut de classe qui contiendra à tout moment l'instance
de CarreMosaiQ actuellement sous le pointeur souris (None si aucune).
Note > Comme un attribut de classe est, par définition, unique au sein d'un
programme, la présente approche fait l'hypothèse qu'on ne crée les instances que
sur une seule scène ; dans le cas contraire, il faudrait placer nbInstance et
instanceSurvolee en attributs d'instance de SceneMosaiQ (ce qui nécessiterait une
gestion un peu moins simple).
Le constructeur construit une nouvelle instance, on incrémente donc le compteur.
L'appel de la méthode hoverEnterEvent signale que le pointeur vient de rentrer
dans la zone au-dessus du carré courant : on mémorise cette instance.
L'appel de la méthode hoverLeaveEvent signale que le pointeur vient de quitter la
zone au-dessus du carré courant : on met None pour indiquer qu'on n'a
momentanément aucun carré sous le pointeur.
Comme la fragmentation supprime le carré courant, on décrémente le compteur
d'une unité. Notons qu'il ne faut pas compter les quatre instances créées, car elles
sont déjà prises en compte dans le constructeur CarreMosaiQ.__init__.
On peut à présent à tout moment retrouver le nombre de carrés sur la scène via l'attribut
CarreMosaiQ.nbInstances et le carré sous le pointeur via
CarreMosaiQ.instanceSurvolee. Fort de ce mécanisme, nous pouvons compléter
l'implémentation de PanneauInfo pour exploiter ces deux attributs et afficher
l'information attendue.
255
