如何在函式之後停止 Tkinter?


Tkinter 函式可以透過執行緒的概念建立,我們可以在其中定義函式何時執行或停止。可以使用 **after(time, callback)** 函式安排 Tkinter 函式。

假設我們建立了一個回撥函式,該函式會在一段時間後強制關閉主視窗。有時我們可能需要停止函式的排程。為了取消或停止回撥函式的特定排程,我們可以使用 **after_cancel(widget)** 函式。

示例

在給定的示例中,指令碼將在 3 秒後關閉主視窗,但在初始化 **after_cancel** (parent) 後,它將停止執行 **after** 函式。

#Import the required Libraries
from tkinter import *
from tkinter import ttk
#Create an instance of tkinter frame
win = Tk()
#Set the geometry of tkinter frame
win.geometry("750x270")
#Initialize a Label widget
Label(win, text= "This window will get closed after 3 seconds...",
font=('Helvetica 20 bold')).pack(pady=20)
#Automatically close the window after 3 seconds
win.after_cancel(win)
win.after(3000,lambda:win.destroy())
win.mainloop()

輸出

執行以上程式碼將顯示一個視窗,並在螢幕上顯示一些訊息。

如果我們刪除 **win.after_cancel(win)** 這行程式碼,視窗將在 3 秒後自動關閉。

更新於: 2021 年 5 月 3 日

5K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告