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 :

tag_bind et arguments


Sujet :

Tkinter Python

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 293
    Par défaut tag_bind et arguments
    Bonjour,

    Comment puis-je récupérer un argument lorsque je lie le tag d'un widget Text à une méthode ?
    exemple pour récupérer le nom du tag qui a appelé la méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def essai(self,*args):
               for arg in args:
    	       print'arg :', arg
     
    for tag in self.text6.tag_names():
             self.text6.tag_bind(tag,'<ButtonRelease-1>',self.essai(tag))
    De cet manière, je constate que la fonction essai est appelée lors de la mise en place de text6 et que le nom du tag est bien récupéré. Mais ensuite, rien ne se passe lors d'un click sur un des tags concernés.

    D'avance, Merci...

  2. #2
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Par défaut
    bonjour, il faut que tu passe ton argument a ta fonction en passant par la fonction lambda

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def essai(self,*args): 
        for arg in args: 
        print'arg :', arg   
    for tag in self.text6.tag_names():  
         self.text6.tag_bind(tag,'<ButtonRelease-1>',lambda tag:self.essai(tag))
    a vérifier mais comme ca ca devrait marcher!

    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 293
    Par défaut
    ça marche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.text6.tag_bind(nom,'<ButtonRelease-1>',lambda event,arg1=depart,arg2=fin : self.modif(event,arg1,arg2))
    Merci

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

Discussions similaires

  1. Arguments pour et contre Access ?
    Par bottura dans le forum Sondages et Débats
    Réponses: 240
    Dernier message: 23/03/2018, 23h25
  2. Réponses: 3
    Dernier message: 07/04/2003, 20h06
  3. Récuperer Arguments sur la ligne de commande ?
    Par Muetdhiver dans le forum x86 16-bits
    Réponses: 9
    Dernier message: 20/01/2003, 21h01
  4. fonction renvoyant un tableau en argument
    Par Jones dans le forum Langage
    Réponses: 6
    Dernier message: 30/09/2002, 18h20
  5. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08

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