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 :

[Python 2.X] Button et Bind vers la même fonction?


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 19
    Points : 12
    Points
    12
    Par défaut [Python 2.X] Button et Bind vers la même fonction?
    Salut,

    J'aimerai savoir si il est possible que les objets Button et un Event par exemple déclenché par une l'appuie d'une touche, peuvent appeler directement la même fonction.
    Le problème serait que le Bind s'accompagne forcément de l'argument Event alors que le simple clic sur un bouton vient tous seul.
    Dans les quelques exemples présents dans les quelques pages de doc que j'ai lu, il était créé deux fonction, l'une pouvant renvoyer vers l'autre, comme ce qui suit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    def affich():
        Label(fen, text='Action').grid(row=3)
    def affich2(event):
        affich()
     
    from Tkinter import *
     
    fen = Tk()
    entree = Entry(fen, width =14)
    entree.grid(row=1)
    entree.bind("<Return>", affich2)
    Button(fen, text='Clic', command=affich).grid(row=2)
     
    fen.mainloop()
    Existe-t-il un moyen, une option quelconque, pour que ces deux mécanismes renvoient vers une seule fonction?
    La commande Bind s'accompagne-t-elle forcement de l'argument Event?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Vous pouvez construire une fonction "à la volée" qui va croquer le paramètre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    entree.bind("<Return>", lambda e: affich())
    Ce qui répond à votre besoin (avec le temps vous vous rendrez compte que c'est seulement parfois une bonne idée).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Merci

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

Discussions similaires

  1. Datagrid avec pagination + bind vers chart
    Par Yux dans le forum Flex
    Réponses: 0
    Dernier message: 05/10/2010, 14h58
  2. Binding vers un contrôle d'une autre classe
    Par NinoLum dans le forum Silverlight
    Réponses: 13
    Dernier message: 03/09/2010, 12h03
  3. Binding vers une méthode
    Par Pragmateek dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 26/08/2009, 17h54
  4. Réponses: 3
    Dernier message: 08/03/2009, 10h50
  5. [XML] XML Data Binding vers php
    Par noa dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 01/03/2006, 16h31

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