Tkinter Canvas 基本动画

Tkinter Canvas 基本动画

动画设计所使用的方法是move( ),使用格式如下。

canvas.move(ID, xMove, yMove)    # ID是对象编号
canvas.update()                  # 强制重绘画布

xMove,yMove分别是沿x和y轴移动距离,单位是像素。

示例1

移动球的设计,每次移动5像素。

from tkinter import * 
import time

tk = Tk()
tk.title("apidemos.com")
canvas = Canvas(tk,width=500, height=150)  # 建立画布
canvas.pack()
canvas.create_oval(10,50,60,100,fill="yellow",outline='lightgray')
for x in range(0,80):
    canvas.move(1,5,0)   # ID=1  x轴移动5像素,y轴不变
    tk.update()          # 强制tkinter重绘
    time.sleep(0.05)

# tk.mainloop()

输出:

Tkinter Canvas 基本动画

上述程序执行时使用循环,第13行相当于定义每隔0.05s移动一次。其实我们只要设置move( )方法的参数就可以向任意方向移动。

示例2

扩大画布高度为300像素,每次x轴移动5像素,y轴移动2像素。

from tkinter import * 
import time

tk = Tk()
tk.title("apidemos.com")
canvas = Canvas(tk,width=500, height=300)  # 建立画布
canvas.pack()
canvas.create_oval(10,50,60,100,fill="yellow",outline='lightgray')
for x in range(0,80):
    canvas.move(1,5,2)   # ID=1  x轴移动5像素,y轴移动2像素
    tk.update()          # 强制tkinter重绘
    time.sleep(0.05)

# tk.mainloop()

输出:

Tkinter Canvas 基本动画

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程