一段时间后自动关闭窗口

Eas*_*led 6 python tkinter

在一个类中,在一个函数中,我正在创建一个Tkinter Canvas.这个函数正被另一个类调用,我希望Tkinter窗口弹出30秒然后自行关闭.我打电话给他

master.mainloop()
time.sleep(30)
master.destroy() 
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误

"elf.tk.call('destroy',self._w)_tkinter.TclError:无法调用"destroy"命令:应用程序已被销毁"

那我怎么能把它靠近呢?

A. *_*das 18

不要time.sleep()与tkinter一起使用.而是after在要关闭的小部件上调用该函数.

这是最简单的例子:

import tkinter as tk

w = tk.Tk()
w.after(30000, lambda: w.destroy()) # Destroy the widget after 30 seconds
w.mainloop()
Run Code Online (Sandbox Code Playgroud)