如何启动自毁的Python / Tkinter对话框?

时间:2009-12-16 19:50:51

标签: python tkinter

好的,我想整理一个Python / Tkinter对话框,它显示一条简单的消息并在N秒后自毁。有一种简单的方法可以做到这一点吗?

2 个答案:

答案 0 :(得分:10)

您可以使用after函数在延迟结束后调用函数,并destroy关闭窗口。

这是一个例子

from Tkinter import Label, Tk
root = Tk()
prompt = 'hello'
label1 = Label(root, text=prompt, width=len(prompt))
label1.pack()

def close_after_2s():
    root.destroy()

root.after(2000, close_after_2s)
root.mainloop()

更新:后文档字符串说:

  

在给定时间后调用一次函数。       MS以毫秒为单位指定时间。       FUNC给出了应该调用的函数。       附加参数作为函数调用的参数给出。       使用after_cancel返回标识符以取消调度。

答案 1 :(得分:1)

你也可以使用一个帖子 此示例使用Timer在指定的时间后调用destroy()。

import threading
import Tkinter


root = Tkinter.Tk()
Tkinter.Frame(root, width=250, height=100).pack()
Tkinter.Label(root, text='Hello').place(x=10, y=10)

threading.Timer(3.0, root.destroy).start()

root.mainloop()