problème sur l'utilisation d'un module si interface graphique
Problème d'utilisation d'un import de module lorsque l'on utilise une interface graphique
exemple pour illustrer mes soucis:
soit 2 programmes, le programme principal : prg_A.py et le module: prg_B
prg_A importe le module prg_B et prg_B modifie une variable.
le soucis est que pour que cette modification soit pris en compte il faut fermer la fenêtre principale: f !!!
Quelqu'un a t'il une solution pour récupérer cette variable modifié sans fermer la fenêtre.
Quelque chose m'échappe !!
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| # -*- coding: cp1252 -*-
#prog_A.py: (sous C:/Python24)
#-----------
#programme A
import prg_B #j'importe le module (prg_B.py sous C:/Python24)
def lance_prog_B():
prg_B.fen2() #<<appel de la fonction fen2 du module prg_B
variable_modif=prg_B.variable #<<--PB n'est éxécuté qu'a la fermeture de
# la fenetre f !!
print "variable après modif dans prog_B: ",variable_modif
from Tkinter import *
f=Tk() #fenetre principale !!
bouton_lancement=Button(f,text="lance prog B",command=lance_prog_B).pack()
f.mainloop() |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # -*- coding: cp1252 -*-
#prg_B.py :le module appelé par prg_A.py
from Tkinter import *
def fen2():
print "programme b"
global f2
f2=Toplevel()
b=Button(f2,text="modifions val de b",command=modif).pack()
f2.mainloop()
def modif():
global variable,f2
variable=1
f2.destroy() |
**********************************************
A l'éxécution on a après avoir fermé toutes les fenêtres et hélas !! pas avant!!
Code:
1 2 3 4 5
| >>> ================================ RESTART====
>>>
programme b
variable après modif dans prog_B: 1
>>> |