如何在 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()

输出

运行此代码时,将产生以下输出 −

单击按钮"开始循环"以运行无限循环,该循环将在每一秒后继续打印"无限循环!"。单击"停止循环"以停止无限循环。


相关文章


有用资源