如何在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()
输出
运行此代码时,将产生以下输出:
单击“启动循环”按钮运行无限循环,它将每秒钟持续打印“无限循环!”。单击“停止循环”停止无限循环。
广告