Lorsque vous souhaitez faire interagir un widget tk avec la souris, le clavier, ou autre il vous faut utiliser la commande bind.
exemple
bind .monbouton <1> {puts "clic sur le bouton"}
cet évènement réagit avec le clic de la souris. Le numéro du bouton est utilisé :
Exemple :
bind.monbouton {puts "clic gauche"} bind .monbouton {puts "double clic gauche"}
utiliser l'évènement release comme ceci :
bind.monbouton { puts "relachement du bouton droit de la souris"}
bind .label{.label configure -text "x=%x y=%y"}
Voici un eemple multi plate forme :
bind .{puts "Scroll: %D"} bind . {puts "Scroll haut (Linux)"} bind . {puts "Scroll bas (Linux)"}
b1) lorsque le curseur entre dans un widget ou ENTER
Enter (curseur entre dans le widget)
Leave (curseur sort)
FocusIn
FocusOut
KeyPress (ou Key)
KeyRelease
Exemples :
change la position ou la taille
bind <Configure> . {puts "Width: %w Height: %h"}
Déclenché quand le widget devient visible à l’écran.
bind <Map> . {puts "La fenêtre est maintenant visible"}
pratique pour initialiser des éléments après affichage
Déclenché quand la fenêtre est cachée (minimisation, withdraw, etc.)
bind <Unmap> . {puts "Fenêtre cachée"}
Déclenché quand une zone doit être redessinée (ex: fenêtre cachée puis réaffichée).
canvas .c -width 200 -height 100 -bg white pack .c bind <Expose> .c {puts "rafraichissement de la fenêtre demandée"}
Cet évènement est utile pour les canvas ou dessins personnalisés
Cet évènement indique si la fenêtre est visible ou partiellement cachée
bind <Visibility> . {puts "Changement d'état de la fenêtre"}
Cet évènement sert avant tout lors d'optimisation graphique
Destroy
Reparent
Circulate
Colormap
Gravity
Property
Rédaction en cours...