| from Tkinter import * |
| |
| # This program shows how to use the "after" function to make animation. |
| |
| class Test(Frame): |
| def printit(self): |
| print "hi" |
| |
| def createWidgets(self): |
| self.QUIT = Button(self, {'text': 'QUIT', |
| 'fg': 'red', |
| 'command': self.quit}) |
| self.QUIT.pack({'side': 'left', 'fill': 'both'}) |
| |
| self.draw = Canvas(self, {"width" : "5i", "height" : "5i"}) |
| |
| # all of these work.. |
| self.draw.create_polygon("0", "0", "10", "0", "10", "10", "0" , "10", {"tags" : "thing"}) |
| self.draw.pack({'side': 'left'}) |
| |
| def moveThing(self, *args): |
| # move 1/10 of an inch every 1/10 sec (1" per second, smoothly) |
| self.draw.move("thing", "0.01i", "0.01i") |
| self.after(10, self.moveThing) |
| |
| |
| def __init__(self, master=None): |
| Frame.__init__(self, master) |
| Pack.config(self) |
| self.createWidgets() |
| self.after(10, self.moveThing) |
| |
| |
| test = Test() |
| |
| test.mainloop() |