在事件驱动编程中,应用程序可以安排函数在指定时间运行。 Tkinter 小部件有一个 after 方法,可用于在经过一定毫秒数后执行函数。
要使矩形闪烁三次,我们需要编写一个函数来更改矩形的填充颜色和安排它以 1 秒的间隔运行 3 次。我们可以这样做:
import tkinter as tk from time import sleep def blink(rect, canvas): for i in range(3): canvas.itemconfigure(rect, fill="red") sleep(1) canvas.itemconfigure(rect, fill="white") sleep(1) root = tk.Tk() fr = tk.Frame(root) fr.pack() canv = tk.Canvas(fr, height=100, width=100) canv.pack() rect = canv.create_rectangle(25, 25, 75, 75, fill="white") # Schedule blink function to run canv.after(1000, blink, rect, canv) canv.after(2000, blink, rect, canv) canv.after(3000, blink, rect, canv) root.mainloop()
此代码将创建一个矩形,并计划将其填充颜色从白色更改为红色,然后再更改回来,以 1 秒的间隔更改三次。
after 方法还可以用于安排函数在指定的毫秒数后运行,也可以用于安排函数以指定的时间间隔重复运行。这对于创建动画或定期检查新数据非常有用。
以上是如何使用 Tkinter 的'after”方法创建简单的动画?的详细内容。更多信息请关注PHP中文网其他相关文章!