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 :

Associer un clique et un double clique sur une listebox


Sujet :

Tkinter Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2005
    Messages : 42
    Points : 35
    Points
    35
    Par défaut Associer un clique et un double clique sur une listebox
    Bonjour,

    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
     
    from Tkinter import *
     
    def clique(event):
        print "CLIQUE"
     
    def doubleclique(event):
        print "DOUBLE-CLIQUE"
     
     
    l = Listbox()
    l.grid(row = 20, column = 25, rowspan = 5)
    l.config(height = 14, width = 25)
     
    l.bind('<Button-1>', clique)
    l.bind('<Double-Button-1>', doubleclique)


    Comment faire pour que la fonction doubleclique s'execute sans executer la fonction clique.


    Merci

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Février 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 76
    Points : 103
    Points
    103
    Par défaut
    Salut,

    Je ne suis pas sûr que cela soit possible. D'après la doc (http://effbot.org/tkinterbook/tkinte...bindings.htm):
    <Double-Button-1>

    Button 1 was double clicked. You can use Double or Triple as prefixes. Note that if you bind to both a single click (<Button-1>) and a double click, both bindings will be called.
    Peut-être que l'événement <Enter> pourra servir d'alternative au simple clique.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2005
    Messages : 42
    Points : 35
    Points
    35
    Par défaut
    J'ai trouvé comment faire mais après l'UC tourne a 100% a cause du while 1.
    Si quelqun a une meilleur idées

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    from Tkinter import *
    import threading, time
     
    fen1 = Tk() 
     
    def clique():
        print
        print "##############"
        print "### CLIQUE ###"
        print "##############"
        print
     
     
    def doubleclique():
        print
        print "#####################"
        print "### DOUBLE-CLIQUE ###"
        print "#####################"
        print
     
     
    def pause():
        global p
        while 1:
            if p == 1:
                time.sleep(1)
                if p == 1:
                    clique()
                    p = 0
                else:
                    doubleclique()
                    p = 0
     
     
    def c(event):
        global p
        p = p+1
     
     
     
     
    p = 0
    a = threading.Thread(None, pause, None)
    a.start()
     
     
    l = Listbox(fen1)
    l.grid(row = 20, column = 25, rowspan = 5)
    l.config(height = 14, width = 25)
     
    l.bind('<ButtonRelease-1>', c)
     
     
    fen1.mainloop()

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2005
    Messages : 42
    Points : 35
    Points
    35
    Par défaut
    Comme sa sa consomme deja moin
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    from Tkinter import *
    import threading, time
     
    fen1 = Tk() 
     
    def clique():
        print
        print "##############"
        print "### CLIQUE ###"
        print "##############"
        print
     
     
    def doubleclique():
        print
        print "#####################"
        print "### DOUBLE-CLIQUE ###"
        print "#####################"
        print
     
     
    def pause():
        global p
        while 1:
            time.sleep(1)
            if p == 1:
                clique()
                p = 0
            if p == 2:
                doubleclique()
                p = 0
     
     
    def c(event):
        global p
        p = p+1
     
     
     
     
     
    p = 0
    a = threading.Thread(None, pause, None)
    a.start()
     
     
    l = Listbox(fen1)
    l.grid(row = 20, column = 25, rowspan = 5)
    l.config(height = 14, width = 25)
     
    l.bind('<ButtonRelease-1>', c)
     
     
    fen1.mainloop()

Discussions similaires

  1. Double restriction sur une association "many to many"
    Par id3user dans le forum Hibernate
    Réponses: 0
    Dernier message: 17/05/2010, 09h42
  2. [VBA-E] Double-Click sur une cellule
    Par boosty dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/04/2006, 15h12
  3. Différencier un clique d'un double clique
    Par gingman dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/03/2006, 23h12
  4. DOUBLE REQUETE SUR UNE MEME TABLE
    Par MORAS dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/01/2006, 13h40
  5. simuler un double click sur une liste dans un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/09/2005, 10h45

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