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', foreground='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_rectangle(0, 0, 10, 10, tags="thing", fill="blue") 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()