Leçon Tkinter n° 4

La programmation évennementielle

Gestion du clavier

Dans le dossier tkinter créez un dossier tkinter4. Il contiendra tous les fichiers de cette leçon.

A chaque fois qu'une touche est enfoncée (ou relâchée) on dit qu'un évennement est déclenché.
La méthode main.loop() que l'on place toujours en fin de programme déclenche justement le gestionnaire d'évennements qui surveille tous ces évennements.

La méthode bind permet de lier un événement (clic souris, touche du clavier) avec une fonction.

L'appui sur une touche

On peut vouloir surveiller un évennement clavier

Lors d'une action au clavier l'objet evt récupère l'information lié à cette action

Propriétés Retour
evt.char Renvoie le caractère de la touche enfoncée
evt.keysym Renvoie une chaîne de caractère
contenant le symbole de la touche enfoncée
evt.keycode Renvoie un entier
contenant le code la touche enfoncée

Recopiez et testez le code ci-dessous, en commentant et décommentant les lignes 4 à 6.
Enfoncez les touches alphanumériques du clavier et autres comme la touche entrée.

On peut aussi indiquer directement la touche à "surveiller".
Recopiez et testez le code ci-dessous où la touche concernée est la touche entrée


Pour cela on renplace l'instruction maFenetre.bind_all('‹Key›',fonction)
par mafenetre.bind_all('‹Return›',fonction)


Exercice 1

Dans cet exercice il faudra traduire un mot anglais.
On utulisera un dictionnaire et on modifiera le code précédent comme l'indique les lignes de code ci-dessous

Exercice 2

Dans cet exercice on souhaite déplacer une balle en utilisant les codes des quatre touches du clavier
↑, ↓ , ← , et → .
On trouvera les codes associés à ces touches en utilisant le premier programme ci-dessus.
Recopiez et complétez le code ci-dessous.

Exercice 3

Dans cet exercice on ne veut pas déplacer la balle mais modifier son rayon.
Modifiez le code précédent afin d'augmenter ou de diminuer le rayon à l'aide des flèches ↑, ↓ .