首页 >后端开发 >Python教程 >如何使用 Tkinter 的'after”方法创建简单的动画?

如何使用 Tkinter 的'after”方法创建简单的动画?

Linda Hamilton
Linda Hamilton原创
2024-12-14 07:57:15475浏览

How Can I Use Tkinter's `after` Method to Create a Simple Animation?

Tkinter — 随着时间的推移执行函数

在事件驱动编程中,应用程序可以安排函数在指定时间运行。 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn