Tkinter - Saisies claviers

Anonyme -  
Jithel Messages postés 843 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je commence à utiliser Tkinter et je voudrais faire des saisies claviers : Mon code :



from tkinter import *

root = Tk()

def touche(lettre):
    print(lettre)

def toucheevent():
    root.bind("<KeyPress-a>", touche)
    root.bind("<KeyPress-b>", touche)

while 1:
    toucheevent()
    

end = int(input())




Sauf que je vois pas où est l'erreur. Le programme n'affiche rien ...

Merci d'avance !
A voir également:

2 réponses

Jithel Messages postés 843 Date d'inscription   Statut Membre Dernière intervention   171
 
Il y a plusieurs problèmes.

1. Lorsque tu utilises tkinter en faisant
root = Tk()
, tu dois aussi utiliser
root.mainloop()
pour afficher quelque chose
2. La boucle infinie n'est pas convenable. La méthode
toucheevent()
n'a pas besoin d'être appelée indéfiniment.
3. La variable
end
ne sert à rien car tu ne l'exploite pas. Supprime là
input() #attendre une entree de l'utlisateur

4. La méthode
touche(lettre)
prend un paramètre qui n'est pas celui auquel tu t'attend. En effet, ce paramètre est en fait la référence vers un objet Events. Voir : http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm
1
Anonyme
 
Ok merci, mais du coup, c'est quoi la formule exacte pour avoir "a" quand on tape a sur le clavier ?
0
Jithel Messages postés 843 Date d'inscription   Statut Membre Dernière intervention   171
 
A nouveau :
http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm

et à tester :

def touche(event):
   print(event.char) #tester aussi keysym et keycode
0