Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Bind dans Tkinter

+1 vote

Je m’entraîne sur Tkinter et je fais donc un snake game assez populaire, et j'ai un problème, je veux que mes flèches directionnelles fassent changer ma variable qui changera la direction de mon serpent, pour cela

  • fonction de gestion de coordonnées (mouv(x,y))
  • fonctions de directions (mouvb(),mouvh(),mouvg()....)
  • ma fenetre avec mon canvas etc..
  • et la le probleme;

    can.bind("", mouvh)
    can.bind("", mouvb)
    can.bind("", mouvd)
    can.bind("", mouvg)

J'ai refait comme j'ai pu le voire sur internet pour mes flèches directionnelles mais cela ne fait rien, apres plusieurs essais j'appelle à l'aide!
Merci bien

demandé 18-Dec-2016 par Tomtom07982 (158 points)
edité 12-Jan par lucas

Peux-tu fournir le code pour la fenêtre et le canvas ainsi qu'un exemple concrêt de l'utilisation de bind et d'où vient can ? Que l'on puisse voir comment tu gères ça.

en fait après une bonne journée de recherche j'ai trouvern can c'est mon Canvas et fallait que je bind mes events sur ma fanetre, et mes <"Up>" etc fonctionnent bien. désolé du dérangement

1 Réponse

+1 vote

J'avais également ce problème lorsque je débutais avec tkinter.
Pour qu'un widget puisse recevoir des évènement de type entrée de clavier, il faut que celui-ci ait le focus. Il te suffit donc de rajouter can.focus_set().

NB
Si plusieurs widgets doivent recevoir des entrée de ce type simultanément, le bind() et le focus_set() doivent désigner un widget parent (tel qu'un Frame ou la fenêtre Tk).

En espérant avoir été utile.

répondu 1-Jan par Rostan (112 points)
...