Se connecter / S'enregistrer

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

Solutions (2)
Tags :
  • Script
  • Programmation
|
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
  1. rom Tkinter import *
  2. from a import *
  3.  
  4. ag = "bou"
  5.  
  6. def callback(event):
  7. can2.config(bg="red")
  8.  
  9. fen2 = Tk()
  10.  
  11. can2 = Canvas(fen2,bg='white', width = 400, height=400)
  12. can2.bind("<Button-1>", callback)
  13. can2.pack()
  14.  
  15. print bf
  16.  
  17. # fiou() Ne fonctionne pas
  18.  
  19. fen2.mainloop()


# MODULE a
  1. bf = "Bonjour"
  2.  
  3. def fiou():
  4. print "Fiou"
  5. 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 ?
Contenus similaires
Meilleure solution
partage
|
Au lieu d'un import:
  1. exec("ton_script.py", globals(), locals())

ça exécute le script au lieu de l'importer.
  • Commenter cette solution |
Score
0
òh
òi
|
Je vais essayer, merci beaucoup de cette réponse rapide
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS