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

示例

# Import the required library
from tkinter import *

# Create an instance of tkinter frame
win=Tk()

# Set the size of the Tkinter window
win.geometry("700x350")

# Define a function to print something inside infinite loop
condition=True
def infinite_loop():
   if condition:
      Label(win, text="Infinite Loop!", font="Arial, 25").pack()

   # Call the infinite_loop() again after 1 sec win.after(1000, infinite_loop)

def start():
   global condition
   condition=True

def stop():
   global condition
   condition=False

# Create a button to start the infinite loop
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()

# Call the infinite_loop function after 1 sec.
win.after(1000, infinite_loop)

win.mainloop()

输出

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

单击“启动循环”按钮运行无限循环,它将每秒钟持续打印“无限循环!”。单击“停止循环”停止无限循环。

更新于:2021年10月26日

8K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告