你知道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()