blob: 4120d66d48696e0acd5b2a70b601d69f6972d6fb [file] [log] [blame]
Benjamin Petersond6d63f52009-01-04 18:53:28 +00001from tkinter import *
Guido van Rossum35820f71994-10-07 09:55:26 +00002
3# This program shows how to use the "after" function to make animation.
4
5class Test(Frame):
6 def printit(self):
Collin Winter6f2df4d2007-07-17 20:59:35 +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()