Tom's Guide > Forum > Programmation > [Résolu] [Python] Utiliser plus d'un script avec Tkinter

[Résolu] [Python] Utiliser plus d'un script avec Tkinter

Forum Programmation : [Résolu] [Python] Utiliser plus d'un script avec Tkinter

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !

Lire la meilleure réponse, apportée par CRicky.

Mot :    Pseudo :           
 

J'aimerais utiliser tkinter avec un code écrit sur plusieurs module. Le problème, c'est que les instructions des modules importés ne reconnaissent pas les objets tkinter du module souche.
D'un côté c'est normal, parce que les modules importés n'ont pas à connaître les valeurs des variables globales des fonctions qui les importes, mais d'un autre comment jouer avec les objets tkinter ?


Voici un exemple:



# MODULE b

f

Code :
  1. rom Tkinter import *
  2. from a import *
  3. ag = "bou"
  4. def callback(event):
  5.     can2.config(bg="red" )
  6. fen2 = Tk()
  7. can2 = Canvas(fen2,bg='white', width = 400, height=400)
  8. can2.bind("<Button-1>", callback)
  9. can2.pack()
  10. print bf
  11. # fiou() Ne fonctionne pas
  12. fen2.mainloop()



# MODULE a

Code :
  1. bf = "Bonjour"
  2. def fiou():
  3.     print "Fiou"
  4.     can2.config(bg="yellow" )    # NE FONCTIONNE PAS !!"""






Ici vous voyez, le module a contient une fonction qui modifie le canvas can2 défini dans le module b. Je lance b. La fonction fiou ne marche pas parce que fiou() ne reconnait pas l'objet can2.

Alors je me suis dis: J'ai juste à faire un import de b dans le module a.

Mais ça ne fonctionne pas.

Un petit coup de main s'il vous plait ?

Au lieu d'un import:

Code :
  1. exec("ton_script.py", globals(), locals())


ça exécute le script au lieu de l'importer.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
Meilleure réponse

Au lieu d'un import:

Code :
  1. exec("ton_script.py", globals(), locals())


ça exécute le script au lieu de l'importer.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Je vais essayer, merci beaucoup de cette réponse rapide

Répondre à reveurduciel
Tom's Guide > Forum > Programmation > [Résolu] [Python] Utiliser plus d'un script avec Tkinter
Aller à :

Il y a 2873 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Liens