# _*_ codig: utf-8_*_
from Tkinter import *
class ControlAnimation:
def __init__(self):
root = Tk()
root.title("Control Animation")
self.width = 250
self.canvas = Canvas(root,bg = "white",width = 250,height = 50)
self.canvas.pack()
frame = Frame(root)
btStop = Button(frame,text = "Stop",command = self.stop).pack(side = LEFT)
btResume = Button(frame,text = "Resume",command = self.resume).pack(side = LEFT)
btFaster = Button(frame,text = "Faster",command = self.faster).pack(side = LEFT)
btSlower = Button(frame,text = "Slower",command = self.slower).pack(side = LEFT)
#lambda是一个用来构造回调的工具,一个按钮执行两个函数 lambda: (self.stop(),self.root.destroy())
btExit = Button(frame,text = "Exit",command = lambda: (self.stop(),root.destroy())).pack(side = LEFT)
frame.pack()
self.x = 0
self.sleepTime = 100
self.canvas.create_text(self.x,30,text = "Message Moving?",tags = "text")
self.dx = 3
self.isStop = False
self.animate()
root.mainloop()
def stop(self):
self.isStop = True
def resume(self):
self.isStop = False
self.sleepTime = 100
print self.sleepTime
self.animate()
def faster(self):
if self.sleepTime > 5:
self.sleepTime -= 20
print self.sleepTime
def slower(self):
self.sleepTime += 20
print self.sleepTime
def animate(self):
while not self.isStop:
self.canvas.move("text",self.dx,0)
self.canvas.after(self.sleepTime)
self.canvas.update()
if self.x < self.width:
self.x += self.dx
else:
self.x = 0
self.canvas.delete("text")
self.canvas.create_text(self.x,30,text = "Message Moving?",tags = "text")
ControlAnimation()
from Tkinter import *
class ControlAnimation:
def __init__(self):
root = Tk()
root.title("Control Animation")
self.width = 250
self.canvas = Canvas(root,bg = "white",width = 250,height = 50)
self.canvas.pack()
frame = Frame(root)
btStop = Button(frame,text = "Stop",command = self.stop).pack(side = LEFT)
btResume = Button(frame,text = "Resume",command = self.resume).pack(side = LEFT)
btFaster = Button(frame,text = "Faster",command = self.faster).pack(side = LEFT)
btSlower = Button(frame,text = "Slower",command = self.slower).pack(side = LEFT)
#lambda是一个用来构造回调的工具,一个按钮执行两个函数 lambda: (self.stop(),self.root.destroy())
btExit = Button(frame,text = "Exit",command = lambda: (self.stop(),root.destroy())).pack(side = LEFT)
frame.pack()
self.x = 0
self.sleepTime = 100
self.canvas.create_text(self.x,30,text = "Message Moving?",tags = "text")
self.dx = 3
self.isStop = False
self.animate()
root.mainloop()
def stop(self):
self.isStop = True
def resume(self):
self.isStop = False
self.sleepTime = 100
print self.sleepTime
self.animate()
def faster(self):
if self.sleepTime > 5:
self.sleepTime -= 20
print self.sleepTime
def slower(self):
self.sleepTime += 20
print self.sleepTime
def animate(self):
while not self.isStop:
self.canvas.move("text",self.dx,0)
self.canvas.after(self.sleepTime)
self.canvas.update()
if self.x < self.width:
self.x += self.dx
else:
self.x = 0
self.canvas.delete("text")
self.canvas.create_text(self.x,30,text = "Message Moving?",tags = "text")
ControlAnimation()