J'ai remarquer en faite qu'il bloque sur l'instuction mainloop() et attend meme si je renseigne le champ et clik 'ok'
En effet le mainloop est bloquant, jusqu'à ce que la fenêtre soit détruite. Ton problème vient du faite que ton Entry est détruite au moment ou tu veux récupérer sa valeur. Il faut donc récupérer sa valeur avant de détruire la fenêtre:
Voici quelques idées:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
from Tkinter import *
def onOk():
global TrucACalculer
TrucACalculer = entr1.get()
fen1.destroy()
fen1=Tk()
txt1= Label(fen1, text='Nombre de Truc a calculer')
entr1= Entry(fen1)
txt1.grid(row =0)
entr1.grid(row =0, column =1)
bou1= Button(fen1, text='Ok', command = onOk)
bou1.pack()
bou1.grid(row =1, column =1)
fen1.mainloop()
print TrucACalculer
#ici ta boucle |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
from Tkinter import *
def onOk():
TrucACalculer = entr1.get()
fen1.destroy()
print TrucACalculer
#ici ta boucle
fen1=Tk()
txt1= Label(fen1, text='Nombre de Truc a calculer')
entr1= Entry(fen1)
txt1.grid(row =0)
entr1.grid(row =0, column =1)
bou1= Button(fen1, text='Ok', command = onOk)
bou1.pack()
bou1.grid(row =1, column =1)
fen1.mainloop() |
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
|
from Tkinter import *
class MyApp(Tk):
def __init__(self):
Tk.__init__(self)
self.createWidget()
self.trucACalculer = ""
self.mainloop()
def createWidget(self):
Label(self, text='Nombre de Truc a calculer').grid(row =0)
self.entr1= Entry(self)
self.entr1.grid(row =0, column =1)
Button(self, text='Ok', command = self.onOk).grid(row =1, column =1)
def onOk(self):
self.trucACalculer = self.entr1.get()
self.destroy()
def getTrucACalculer(self):
return self.trucACalculer
app = MyApp()
print app.getTrucACalculer()
#ici ta boucle |
Partager