PageRenderTime 16ms CodeModel.GetById 11ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/Demo/tkinter/matt/animation-w-velocity-ctrl.py

http://unladen-swallow.googlecode.com/
Python | 44 lines | 26 code | 13 blank | 5 comment | 0 complexity | 5ae0aa0803f0f4648d1388e7836e71a1 MD5 | raw file
 1from Tkinter import *
 2
 3# this is the same as simple-demo-1.py, but uses
 4# subclassing.
 5# note that there is no explicit call to start Tk.
 6# Tkinter is smart enough to start the system if it's not already going.
 7
 8
 9class Test(Frame):
10    def printit(self):
11        print "hi"
12
13    def createWidgets(self):
14        self.QUIT = Button(self, text='QUIT', foreground='red',
15                           command=self.quit)
16        self.QUIT.pack(side=BOTTOM, fill=BOTH)
17
18        self.draw = Canvas(self, width="5i", height="5i")
19
20        self.speed = Scale(self, orient=HORIZONTAL, from_=-100, to=100)
21
22        self.speed.pack(side=BOTTOM, fill=X)
23
24        # all of these work..
25        self.draw.create_rectangle(0, 0, 10, 10, tags="thing", fill="blue")
26        self.draw.pack(side=LEFT)
27
28    def moveThing(self, *args):
29        velocity = self.speed.get()
30        str = float(velocity) / 1000.0
31        str = "%ri" % (str,)
32        self.draw.move("thing",  str, str)
33        self.after(10, self.moveThing)
34
35    def __init__(self, master=None):
36        Frame.__init__(self, master)
37        Pack.config(self)
38        self.createWidgets()
39        self.after(10, self.moveThing)
40
41
42test = Test()
43
44test.mainloop()