如何在 Tkinter 中运行无限循环?
tkinterpythongui-programming更新于 2026/2/9 16:44:17
要在 Tkinter 中运行无限循环,我们将使用 after 方法在指定的时间段后递归调用方法,直到用户决定停止循环。让我们举一个简单的例子,看看如何启动和停止无限循环。
步骤 −
导入所需的库并创建 tkinter 框架的实例。
使用 win.geometry 方法设置框架的大小。
接下来,创建一个用户定义函数"infinite_loop",它将递归调用自身并在窗口上打印一条语句。
定义另外两个用户定义函数 start() 和 stop() 来控制 infinite_loop。定义一个全局变量"condition"。在start()中设置condition=True,在stop()中设置condition=False。
创建两个按钮来调用start()和stop()函数。
使用after()方法每隔1秒递归调用infinite_loop。
最后,运行应用程序窗口的主循环。
示例
# 导入所需的库
from tkinter import *
# 创建tkinter框架的实例
win=Tk()
# 设置Tkinter窗口的大小
win.geometry("700x350")
# 定义一个函数在无限循环中打印一些内容
condition=True
def infinite_loop():
if condition:
Label(win, text="Infinite Loop!", font="Arial, 25").pack()
# 1 秒后再次调用 infinite_loop() win.after(1000, infinite_loop)
def start():
global condition
condition=True
def stop():
global condition
condition=False
# 创建一个按钮来启动无限循环
start = Button(win, text= "Start the Loop", font="Arial, 12", command=start).pack()
stop = Button(win, text="Stop the Loop", font="Arial, 12", command=stop).pack()
# 1 秒后再次调用 infinite_loop 函数。
win.after(1000, infinite_loop)
win.mainloop()
输出
运行此代码时,将产生以下输出 −
单击按钮"开始循环"以运行无限循环,该循环将在每一秒后继续打印"无限循环!"。单击"停止循环"以停止无限循环。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

