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 :

Passage de paramètres d'une fonction à une autre lors d'un bind '<Return>' d'une Entry [Python 3.X]


Sujet :

Tkinter Python

  1. #1
    Membre averti
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juillet 2018
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 33
    Par défaut Passage de paramètres d'une fonction à une autre lors d'un bind '<Return>' d'une Entry
    Bonjour à tous,

    Toujours débutant en Python/ Tkinter…

    Mon Thread principal ouvre une fenêtre 'window' qui est maintenue par window.mainloop().
    Ce thread principal ouvre une 2nde fenêtre via «win1 = Toplevel(window)» et appelle une fonction 'func1' qui «gère» win1
    Cette 2nde fenêtre inclue (via 'func1') 2 widget de type «Entry»
    Je «bind» ces 2 Entry sur la touche ‘<Return>’ pour appeler une fonction ‘func2’
    Je souhaite passer à func2 les valeurs des 2 entry (i.e. le contenu des 2 «textvariable»)

    En cherchant sur le net, je trouve qu’il faut user de lambda, mais:
    - Je ne trouve pas de syntaxe qui fonctionne dans mon cas…
    - Cette approche par lambda est qualifiée de «sucre syntaxique» par fred1599 (expert confirmé, )

    Donc:
    - Comment devrais-je procéder «proprement»?
    - Si je dois malgré tout «sucrer» mon code ^^, quelle serait alors la «bonne» syntaxe?

    Je précise que 'func1' et 'func2' sont dans un fichier 'file1.py' que j'importe dans le fichier du thread principal via «from file1 import *»
    A vous lire,

    Rick.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 781
    Par défaut
    le sucre c'est bien, le sel c'est mal

    Dans ton cas, peut-être un truc du genre (d'après ce que tu décris et ce que j'ai compris)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def func2(txt1,txt2):
        pass #ton code actuel
     
    ...
    entry1.bind("<<Return>>",lambda event:func2(entry1.get(),entry2.get())

  3. #3
    Membre averti
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juillet 2018
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 33
    Par défaut
    Citation Envoyé par umfred Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    entry1.bind("<<Return>>",lambda event:func2(entry1.get(),entry2.get())
    Exactement le morceau de sucre qu'il me fallait ! Merci.
    Je place la discussion en "résolue".
    Rick

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

Discussions similaires

  1. Passage de paramètre d'une fonction dans un autre fichier .py
    Par jmv33 dans le forum Général Python
    Réponses: 3
    Dernier message: 16/12/2018, 19h50
  2. Réponses: 2
    Dernier message: 24/01/2016, 13h47
  3. [Débutant] Passage de variable d'une fonction à une autre
    Par scorpions1 dans le forum Interfaces Graphiques
    Réponses: 9
    Dernier message: 15/04/2011, 14h38
  4. passage d'argument d'une fonction à une autre
    Par kawther dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 23/11/2008, 21h09
  5. Passage d'argument dans une fonction d'une autre classe.
    Par lavince dans le forum Général Python
    Réponses: 5
    Dernier message: 13/09/2008, 22h16

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