IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

.Bind ("<Bouton>") marche pas


Sujet :

Tkinter Python

  1. #1
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut .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.
    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.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    canvas.bind("<Button-1>", up)
    sa marche très bien.
    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...

  2. #2
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    C'est le focus qui te joue des tours avec les évènements clavier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    canvas.bind("<Up>", up)
    canvas.pack()
    canvas.focus_set()
    Bon code

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bind('<Bouton>', func) ne marche pas !
    Par Luke spywoker dans le forum Tkinter
    Réponses: 0
    Dernier message: 29/07/2010, 19h15
  2. lien du bouton menu ne marche pas
    Par info_sara dans le forum Flash
    Réponses: 6
    Dernier message: 23/05/2008, 13h08
  3. bouton disable ne marche pas
    Par krikete13 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/06/2007, 22h53
  4. [VBA inputbox] le bouton annuler ne marche pas
    Par herendel dans le forum Access
    Réponses: 2
    Dernier message: 15/05/2006, 12h42
  5. Réponses: 4
    Dernier message: 04/05/2005, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo