[Tutor] Simple Tkinter question
Mike Cheponis
mac at Wireless.Com
Fri Oct 7 05:31:59 CEST 2005
I'm trying to update an Entry's textvariable several times within my Button handler, like so:
from Tkinter import *
from time import *
def my_update():
for i in range(3):
tv.set("Now it's %d"%i)
sleep(1)
root=Tk()
tv=StringVar()
Entry(textvariable=tv).pack()
tv.set("Initial Value of StringVar")
Button(text="Update", command=my_update).pack()
root.mainloop()
What happens when I hit the Update button is a 3-second pause, then "Now it's 2" is displayed.
What I expected to see in the Entry was:
"Now it's 0" (right away)
"Now it's 1" (after 1 second pause)
"Now it's 2" (after another 1 second pause)
Any idea what's going on here? Why doesn't "tv.set("<stuff>") happen immediately?
Thanks, -Mike
More information about the Tutor
mailing list