tkinter中有一般的动画功能吗?



你知道tkinter中有一个函数可以随着时间的推移(或for循环(改变小部件的一般参数吗?就像移动功能会自动更改其坐标一样。是否有类似的东西可以更改 for 循环上弧的 extent=x 参数?还是我应该为自己写?

更新:

在你的回答布莱恩·奥克利之后,我想出了这个:

def rotate_arc_function():
for d in range(90, 359):
arc.configure(extent=d)
root.update()
time.sleep(.05)

但是我得到的弧形对象

arc = canvas.create_arc(20,20,100,100, extent=90, fill="green")

似乎没有配置功能,因为我得到:属性错误:"int"对象没有属性"配置">

after方法可以在给定时间量后调用函数。若要使其重复运行,请在每次调用时after函数调用。

例:

import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=200, height=200, background="black")
canvas.pack(fill="both", expand=True)
canvas.create_arc(10, 10, 190, 190, extent=0, outline="red", tags=("arc",))
def change_extent():
extent = float(canvas.itemcget("arc", "extent"))
extent = extent + 5.0
canvas.itemconfigure("arc", extent=extent)
canvas.after(100, change_extent)
change_extent()
root.mainloop()

最新更新