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 :

Transfert bidirectionnelle, de variables , entre deux fichier py


Sujet :

Tkinter Python

  1. #1
    Membre averti
    Homme Profil pro
    manutentionnaire
    Inscrit en
    Décembre 2020
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : manutentionnaire

    Informations forums :
    Inscription : Décembre 2020
    Messages : 31
    Par défaut Transfert bidirectionnelle, de variables , entre deux fichier py
    Bonjour à tous,

    je butte sur le problème suivant [Etape II] :
    Etape I -- > un fichier émetteur "master.py" qui envoie une variable au fichier destinataire "pop.py".
    Etape II -- > le fichier destinataire "pop.py", doit renvoyer une variable au fichier émetteur "master.py".

    master.py
    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
     
    # coding:utf-8
    #version 3.x python
     
    from tkinter import *
    import pop
     
     
    def contenu_master():
    	root = Tk()                                                                                                    # Crée une instance Tk class
    	Type = IntVar()                                             # Sélection du Bt Radio widget
     
    	def info(DATA_Conf):
    		print("DATA_Conf", DATA_Conf)
     
    	def Bt_Type(Type):
    		if Type.get() == 1:
    			# print("Bt_Type - Type.get() - Moto > ", Type.get(), "\n")
    			pop.pop_Contenu(Type.get())
    		if Type.get() == 2:
    			# print("Bt_Type - Type.get() - Voiture > ", Type.get(), "\n")
    			pop.pop_Contenu(Type.get())
     
    	# Type
    	btn_Type_1 = Radiobutton(root, text="Moto", variable=Type, value=1)
    	btn_Type_1.place(x=2, y=4)
    	#
    	btn_Type_2 = Radiobutton(root, text="Voiture", variable=Type, value=2)
    	btn_Type_2.place(x=60, y=4)
     
    	Type.trace("w", lambda name, index, mode, Type=Type: Bt_Type(Type))
     
    	root.mainloop()
     
    contenu_master()
    pop.py
    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
     
    # coding:utf-8
    # Python3 pour Windows : https://www.python.org/downloads/
     
    from tkinter import *
    import master
     
    def pop_Contenu(Type):
     
    	pop_Frame = Toplevel()
    	pop_Frame.title('Sélecteur Image via Alphabet - ' + str(Type))
     
     
    	def Confirmation(DATA):
    		print("Confirmation(DATA)", DATA, Type)
    		contenu_master.info(DATA)
    		# pop_Frame.destroy()
     
    	DATA = StringVar()
    	DATA = "OK Retour"
    	Bt1 = Button(pop_Frame, width=16, text="Confirmer", font=('verdana', 8, ''), command=lambda: Confirmation(DATA))
    	Bt1.place(x=1, y=1)
    merci de votre temps

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Il n'y a pas de transfert de variables entre modules: ça n'existe pas... et vous pourriez mettre tous le code dans le même fichier/script, ce serait pareil.

    A la base, on échange les variables/objets via les paramètres d'appels à des fonctions et on récupère les mises à jour via leur retour (cas fonction pure et objets non mutables ou en modifiant les objets (s'ils sont mutables).

    Exemples:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> def f(n):
    ...     return n+10
    ...
    >>> f(2)
    12
    ou avec un mutable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> def g(alist):
    ...     alist.append(3)
    ...
    >>> L = []
    >>> g(L)
    >>> L
    [3]
    Chez vous le "mutable" est l'IntVar associé à la variable Type: plutôt que d'appeler la fonction avec l'entier retourné par Type.get (pas mutable), vous lui passez Type objet qui pourra être modifié par la fonction.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/09/2018, 10h36
  2. Variable entre deux fichiers vbs
    Par Guillaume110376 dans le forum VBScript
    Réponses: 2
    Dernier message: 01/12/2011, 17h49
  3. Réponses: 2
    Dernier message: 05/09/2011, 10h53
  4. Variable entre deux fichiers java script
    Par Canard64 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/05/2008, 15h58
  5. [XSLT] Passage de variable entre deux fichiers xsl
    Par kimar dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/06/2007, 10h59

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