一段时间后关闭tkinter窗口

时间:2012-06-13 19:23:37

标签: python time tkinter window

我有一段Python代码,应该在一段时间内打开一个新窗口,然后关闭窗口。单击按钮即可触发窗口。这是我所拥有的基础知识。

def restore(self):
    self.restore = Toplevel()

    message = "Select an available Backup to Restore to."

    Label(self.restore, text=message).pack()
    # We then create and entry widget, pack it and then
    # create two more button widgets as children to the frame.

    os.chdir('.')
    for name in os.listdir("."): 
        if os.path.isdir(name):
            self.button = Button(self.restore, text=name,command=self.restoreCallBack)
            self.button.pack(side=BOTTOM,padx=10)

def restoreCallBack(self):
    self.restoreCB = Toplevel()

    message = "Please wait while the database is restored..."
    Label(self.restoreCB, text=message, padx=100, pady=20).pack()

    time.sleep(5)

    self.restore.destroy()
    self.restoreCB.destroy()

我需要显示restoreCallBack窗口5秒钟,然后关闭窗口。谢谢!

1 个答案:

答案 0 :(得分:4)

查看after方法。 e.g:

widget.after(5000,callback)

你不应该在GUI的主要线程中使用sleep - 整个事情只会冻结。