如何在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+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告