Evénements souris

Event - Souris

La syntaxe est le même que dans le cas d'un événement clavier : cible.bind(événement e, callback) où la fonction associée callback admet au minimum un paramètre formel noté event ou e (ou toute autre variable).
Les attributs event.x et event.y (e.x et e.y) contiennent alors les coordonnées du clic.

Nom des événements liés aux boutons de la souris :

  • "<Button-1>" désigne un clic gauche ;
  • "<Button-3>" désigne un clic droit ;
  • "<Double-Button-1>" désigne un double clic gauche ;
  • "<B1-Motion>" un glisser/déposer…

Exemple : jeu.bind("<Button-1>", callback) appelle la fonction callback(event) dès qu'un clic gauche est détecté.

Ecrire une application permettant de déplacer un rectangle dans une fenêtre à l'aide de clics souris.

Event - Souris  Exercice 1

Code

Syntaxe 1


Syntaxe 2


Commentaires

Observer le résultat dans la console.

Les attributs x et y de l'événement event contiennent l'abscisse et l'ordonnée du clic souris (qui doit être effectué dans la fenêtre Tkinter).

Attention, il est souvent souhaitable de restreindre la détection des clics à une zone ou à un objet de la fenêtre, par exemple à une zone de dessin (canvas).
On écrit alors nom_canvas.bind("<Button-1>", coordsSouris). Sans cette restriction, tous les clics souris seraient détectés y compris les clics sur des boutons par exemple.

Utiliser des ressources web