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 :

Clic gauche + droit ?


Sujet :

Tkinter Python

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Clic gauche + droit ?
    Bonjour,

    J'aimerais binder de 3 manières différentes un même bouton :

    - clic gauche
    - clic gauche + droit
    - clic droit

    Ainsi, voici mon code source :

    boutonClic.bind("<ButtonRelease-1>", self.clic_gauche) boutonClic.bind("<Button-1>" + "<Button-3>", self.clic_gauchedroite)
    boutonClic.bind("<Button-3>", self.clic_droit)

    Le problème est que lorsque j'effectue un clic gauche + droit, les opérations de self.clic_gauchedroite sont effectuées mais aussi, celles de self.clic_gauche et celles de clic_droit.

    N'y a t'il pas une solution pour dissocier les 3 ?

    Merci d'avance !

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    en faisant le test

    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
    18
    19
    import Tkinter as Tk
     
    root = Tk.Tk()
    btn =  Tk.Button(root, text = 'toto')
    btn.pack()
    def toto(evt):
        print dir(evt)
        print evt.state
        print evt.char
        print evt.keycode
        print evt.keysym
        print evt.type
        print evt.num
        print evt.keysym_num
        print evt.delta
    btn.bind('<Button-1>', toto)
    btn.bind('<Button-3>', toto)
     
    root.mainloop()
    on s'apercoit que quand on clique gauche:
    evt.num = 1
    evt.state = 8

    Quand on clique droit:
    evt.num = 3
    evt.state = 8

    Quand on clique gauche +droit
    evt.state = 264

    A partir de là, tu peux tout différencier. Tous les évènements doivent cependant envoyer dans la même fonction qui elle différencierait en fonction de l'évènement envoyé

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Bizarrement, j'ai des codes différents ?

    Ne sont ils pas propre à ma machine ?

    Le gauche plus droit est différent si on tient une touche enfoncé, sinon les 2 sont réalisés....

Discussions similaires

  1. CLic gauche/droit sur clavier
    Par Lookie dans le forum Internet
    Réponses: 0
    Dernier message: 28/07/2013, 23h51
  2. ordre d'appui des boutons: clic gauche et clic droit
    Par elomkokou dans le forum VB.NET
    Réponses: 5
    Dernier message: 17/10/2008, 11h04
  3. [JTable] Simuler clic gauche après clic droit
    Par Oliveuh dans le forum Composants
    Réponses: 1
    Dernier message: 03/12/2004, 12h35
  4. gérer le clic gauche-droite en même temps de la sou
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2002, 22h52

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