我想在没有(!!!)canvas.move()函数的情况下为画布项设置动画。
例如,我试过这个:
见下文: coords是已知的
def getCoords(i):
....
return coords #a list
for i in range(4):
id=canvas.create_oval(getCoords(i))
canvas.after(1000)
canvas.delete(id)
canvas.update()
这不起作用。 怎么了?和/或 我在哪里找到一个例子?
答案 0 :(得分:0)
您可以使用coords
方法获取和更改画布对象的坐标。
这是一个完整的例子,它在x方向上每隔100毫米生成一个椭圆:
import Tkinter as tk
def grow(canvas, item):
(x1,y1,x2,y2) = canvas.coords(item)
new_coords = (x1, y1, x2+1, y2)
canvas.coords(item, new_coords)
root.after(100, grow, canvas, item)
root = tk.Tk()
canvas = tk.Canvas(root)
canvas.pack(side="top", fill="both", expand=True)
item = canvas.create_oval(10, 10, 100, 100, outline="black", fill="red")
grow(canvas, item)
root.mainloop()