.Bind ("<Bouton>") marche pas
Je n'arrive pas a associer un évènement a une touche du clavier qui pourtant fonctionne associer avec un boutons de la souris.:cry:
Quel est le problème: Je respecte la synthaxe et je ne sais pas si il y a une différence entre les évènements clavier et souris.:calim2:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| from Tkinter import *
x_1=95
y_1=95
x_2=105
y_2=105
def up (event) :
global x_1, y_1, x_2, y_2
y_1= y_1 - 5
y_2= y_2 - 5
canvas.coords(unit, x_1, y_1, x_2, y_2)
fen=Tk()
canvas= Canvas(fen, height=200, width=200)
unit= canvas.create_oval(x_1, y_1, x_2, y_2)
canvas.bind("<Up>", up)
canvas.pack()
fen.mainloop() |
Avec
Code:
canvas.bind("<Button-1>", up)
sa marche très bien.:mrgreen:
Est-ce un problème de version de Tkinter ou de python 2.6 (ASCII) ou de mon OS(Ubuntu).
Aider moi s'il vous plait: mon clavier doit supporter mes crise de nerfs...
bind_all fonctionne pour le clavier
J'y ai passer la nuit mais j'ai trouver la réponse a ma question:
Il faut utiliser:
Code:
canvas.bind_all("<Up>", up)
Pour associer un evenement clavier a une fonction.
Mais j'aimerai comprendre le pourquoi du comment...
Si quelqu'un peut m'informer sur les détails techniques pourquoi un bind("<Bouton_Clavier>", function) qu'on voit un peu partout dans les extraits de code sur le forum ne fonctionne pas avec mon code.
Merci d'éclairer ma lanterne sur le sujet.
Un peu de doc sur le sujet bind() ici:
http://www.pythonware.com/library/tk...d-bindings.htm