如何在Tkinter中运行无限循环?
要在Tkinter中运行无限循环,我们将使用after方法,在指定的时间间隔后递归地调用一个方法,直到用户决定停止循环。让我们拿一个简单的例子来看看如何开始和停止无限循环。
步骤 –
- 导入所需库并创建一个tkinter框架的实例。
-
使用win.geometry方法设置框架的大小。
-
接下来,创建一个用户定义函数”infinite_loop”,它将递归地调用自身并在窗口上打印一个语句。
-
定义两个更多的用户定义函数,start() 和 stop() ,以控制infinite_loop。定义一个全局变量”condition”。在start() 中,将 condition=True,在stop() 中设置 condition=False。
-
创建两个按钮来调用start()和stop()函数。
-
使用after()方法在每个1秒后递归调用infinite_loop。
-
最后,运行应用程序窗口的mainloop。
例子
#导入所需库
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()
输出
当你运行这段代码时,它将产生以下输出 –
点击按钮“启动循环”以运行无限循环,它将在每秒后保持打印“Infinite Loop!”。点击”停止循环”来停止无限循环。