Mediocre Person wrote:
What I want: A little window to open with a 0 in it. Every second, the
0 should increment by 1.
What I get: A one second delay, see the window with a 1 in it, and then
nothing appears to happen. Never see the 0, never see a 2. Any quick
clues? Thanks. Nick. (Python 2.4, Win98).
simple solution:
def run(self): #also tried self,parent
sleep(1.0)
self.time = self.time + 1
self.display["text"] = str(self.time)
self.update() # make sure to process all outstanding events
smarter solution:
def run(self):
self.display["text"] = str(self.time)
self.time = self.time + 1
self.after(1000, self.run)
# no need to use update in this case
even smarter solution:
import time
TICK = 1.0 # time between updates, in seconds
def run(self):
self.display["text"] = str(self.time)
self.time = self.time + 1
delay = TICK - (time.time() % TICK)
self.after(int(delay*1000), self.run)
# no need to use update in this case
also see:
http://tkinter.unpythonic.net/wiki/TkinterDiscuss
</F>
--
http://mail.python.org/mailman/listinfo/python-list