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()
