summaryrefslogtreecommitdiffstats
path: root/Demo/tkinter/matt/animation-simple.py
blob: 435d6fabd1ae5ea730278b91e99582dd992a0c83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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()