animation-simple.py 821 Bytes
Newer Older
Guido van Rossum's avatar
Guido van Rossum committed
1 2 3 4 5 6 7 8 9
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):
10 11 12
	self.QUIT = Button(self, text='QUIT', foreground='red', 
			   command=self.quit)
	self.QUIT.pack(side=LEFT, fill=BOTH)
Guido van Rossum's avatar
Guido van Rossum committed
13

14
	self.draw = Canvas(self, width="5i", height="5i")
Guido van Rossum's avatar
Guido van Rossum committed
15 16

	# all of these work..
17 18
	self.draw.create_rectangle(0, 0, 10, 10, tags="thing", fill="blue")
	self.draw.pack(side=LEFT)
Guido van Rossum's avatar
Guido van Rossum committed
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

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