How to create a self-destructing Tkinter dialog box?
John Posner
jjposner at optimum.net
Thu Dec 17 15:28:37 EST 2009
On Thu, 17 Dec 2009 02:09:03 -0500, Martin P. Hellwig
<martin.hellwig at dcuktec.org> wrote:
> mrstevegross wrote:
>> Ok, I would like to put together a Python/Tkinter dialog box that
>> displays a simple message and self-destructs after N seconds. Is there
>> a simple way to do this?
>> Thanks,
>> --Steve
>
> Just, thinking aloud, I probably would do something like registering the
> [place|grid|pack]_forget() function by using the alarm callback
> 'after()' function of that frame.
>
Yup, after() is your friend:
#---------------------------
from Tkinter import *
from functools import partial
def RemoveWindow(win):
win.destroy()
# root window
root = Tk()
Label(root, text="this is the main window").pack()
# another top-level window, to be removed in 2 seconds
top = Toplevel()
Label(top, text="this is the window to be removed").pack()
root.after(2000, partial(RemoveWindow, top))
# go
root.mainloop()
#---------------------------
HTH,
John
More information about the Python-list
mailing list