les évènements de la bibliothèque TK

 

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"}

A) Evènement de la souris

 a1) ButttonPress

cet évènement réagit avec le clic de la souris. Le numéro du bouton est utilisé :

  1. clic gauche
  2. clic milieu
  3. clic droit

Exemple :

bind  .monbouton {puts "clic gauche"}
bind  .monbouton {puts "double clic gauche"}

A2) Relachement du bouton de la souris ou ButtonRelease

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)"}

 

B) Focus du pointeur

b1) lorsque le curseur entre dans un widget ou ENTER


Enter (curseur entre dans le widget)
Leave (curseur sort)
FocusIn
FocusOut

C) Le clavier


KeyPress (ou Key)
KeyRelease

Exemples :

D) Evènement avec la fenêtre


D1) Configure


change la position ou la taille

bind <Configure> . {puts "Width: %w Height: %h"}

D2) Map


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

 

D3) Unmap


Déclenché quand la fenêtre est cachée (minimisation, withdraw, etc.)

bind <Unmap> . {puts "Fenêtre cachée"}

D4)Expose 


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

D5) Visibility


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

 

E) Evènement système


Destroy
Reparent
Circulate
Colormap
Gravity
Property

Rédaction en cours...