如何在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()
輸出
執行此程式碼時,將產生以下輸出:
單擊“啟動迴圈”按鈕執行無限迴圈,它將每秒鐘持續列印“無限迴圈!”。單擊“停止迴圈”停止無限迴圈。
廣告