blob: b52e1dc3aed98df3dc986755c65ddd66bdb7db8d [file] [log] [blame]
Guido van Rossum35820f71994-10-07 09:55:26 +00001from Tkinter import *
2
3# This program shows how to use the "after" function to make animation.
4
5class Test(Frame):
6 def printit(self):
Tim Peters182b5ac2004-07-18 06:16:08 +00007 print "hi"
Guido van Rossum35820f71994-10-07 09:55:26 +00008
9 def createWidgets(self):
Tim Peters182b5ac2004-07-18 06:16:08 +000010 self.QUIT = Button(self, text='QUIT', foreground='red',
11 command=self.quit)
12 self.QUIT.pack(side=LEFT, fill=BOTH)
Guido van Rossum35820f71994-10-07 09:55:26 +000013
Tim Peters182b5ac2004-07-18 06:16:08 +000014 self.draw = Canvas(self, width="5i", height="5i")
Guido van Rossum35820f71994-10-07 09:55:26 +000015
Tim Peters182b5ac2004-07-18 06:16:08 +000016 # all of these work..
17 self.draw.create_rectangle(0, 0, 10, 10, tags="thing", fill="blue")
18 self.draw.pack(side=LEFT)
Guido van Rossum35820f71994-10-07 09:55:26 +000019
20 def moveThing(self, *args):
Tim Peters182b5ac2004-07-18 06:16:08 +000021 # move 1/10 of an inch every 1/10 sec (1" per second, smoothly)
22 self.draw.move("thing", "0.01i", "0.01i")
23 self.after(10, self.moveThing)
Guido van Rossum35820f71994-10-07 09:55:26 +000024
25
26 def __init__(self, master=None):
Tim Peters182b5ac2004-07-18 06:16:08 +000027 Frame.__init__(self, master)
28 Pack.config(self)
29 self.createWidgets()
30 self.after(10, self.moveThing)
Guido van Rossum35820f71994-10-07 09:55:26 +000031
32
33test = Test()
34
35test.mainloop()