répéter la longueur du côté ; ceci est fait une fois pour toute dans l'appel au
constructeur de QGraphicsRectItem.
Cette instruction condensée choisit une couleur au hasard en triant au sort chaque
composante RGB dans la plage configurée. Détaillons ce qu'on fait… On utilise
deux fois l'expansion des arguments Python (avec l'opérateur astérisque) ; si on pose
les deux limites de la plage avec (b,h)=PLAGE_COULEURS, l'expression est
exactement équivalente à
QColor(randint(b,h),randint(b,h),randint(b,h)). La boucle sur la chaîne
'RGB' est juste un artifice pour compter jusqu'à trois en rappelant ce qu'on fait.
On crée une brosse avec la couleur choisie et on la sauvegarde dans un attribut
dédié ; cette mémorisation a juste pour but de pouvoir restaurer la brosse après
l'éclairement (voir ).
Grâce à cette instruction, on peut assigner un pointeur de souris particulier qui
remplacera le pointeur standard quand on survole le carré : ici, une petite main.
C'est une manière commode et standard de signaler à l'utilisateur qu'il peut, s'il le
désire, effectuer une certaine action sur l'élément.
Pour que les appels aux méthodes hoverEnterEvent et hoverLeaveEvent se
produisent effectivement sur un élément, il faut activer la propriété
AcceptHoverEvents sur cet élément. Cette petite contrainte sert juste à optimiser le
framework (par défaut, un élément ne sait pas qu'il est survolé).
Quand le pointeur souris entre dans le carré, on récupère la couleur courante et on
calcule une nouvelle couleur en l'éclaircissant avec la méthode lighter. On
assigne au carré une nouvelle brosse avec cette couleur ; cette brosse temporaire
durera tant que le pointeur est dans le carré.
Quand le pointeur souris sort du carré, on restaure la brosse initiale, avec donc la
couleur avant éclairement.
234
constructeur de QGraphicsRectItem.
Cette instruction condensée choisit une couleur au hasard en triant au sort chaque
composante RGB dans la plage configurée. Détaillons ce qu'on fait… On utilise
deux fois l'expansion des arguments Python (avec l'opérateur astérisque) ; si on pose
les deux limites de la plage avec (b,h)=PLAGE_COULEURS, l'expression est
exactement équivalente à
QColor(randint(b,h),randint(b,h),randint(b,h)). La boucle sur la chaîne
'RGB' est juste un artifice pour compter jusqu'à trois en rappelant ce qu'on fait.
On crée une brosse avec la couleur choisie et on la sauvegarde dans un attribut
dédié ; cette mémorisation a juste pour but de pouvoir restaurer la brosse après
l'éclairement (voir ).
Grâce à cette instruction, on peut assigner un pointeur de souris particulier qui
remplacera le pointeur standard quand on survole le carré : ici, une petite main.
C'est une manière commode et standard de signaler à l'utilisateur qu'il peut, s'il le
désire, effectuer une certaine action sur l'élément.
Pour que les appels aux méthodes hoverEnterEvent et hoverLeaveEvent se
produisent effectivement sur un élément, il faut activer la propriété
AcceptHoverEvents sur cet élément. Cette petite contrainte sert juste à optimiser le
framework (par défaut, un élément ne sait pas qu'il est survolé).
Quand le pointeur souris entre dans le carré, on récupère la couleur courante et on
calcule une nouvelle couleur en l'éclaircissant avec la méthode lighter. On
assigne au carré une nouvelle brosse avec cette couleur ; cette brosse temporaire
durera tant que le pointeur est dans le carré.
Quand le pointeur souris sort du carré, on restaure la brosse initiale, avec donc la
couleur avant éclairement.
234
