如何在函数之后停止 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+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告