How do I get rid of Python Tkinter root window?

If you don't want there to a be "flash" as the window is created, use this slight variation:

import Tkinter as tk
root = tk.Tk()
root.overrideredirect(1)
root.withdraw()

On OSX, iconify seems to work better:

root = Tkinter.Tk()
root.iconify()

Probably the vast majority of of tk-based applications place all the components in the default root window. This is the most convenient way to do it since it already exists. Choosing to hide the default window and create your own is a perfectly fine thing to do, though it requires just a tiny bit of extra work.

To answer your specific question about how to hide it, use the withdraw method of the root window:

import Tkinter as tk
root = tk.Tk()
root.withdraw()

If you want to make the window visible again, call the deiconify (or wm_deiconify) method.

root.deiconify()

Once you are done with the dialog, you can destroy the root window along with all other tkinter widgets with the destroy method:

root.destroy()

I haven't tested since I don't have any Python/TKinter environment, but try this.

In pure Tk there's a method called "wm" to manage the windows. There you can do something like "wm withdraw .mywindow" where '.mywindow' is a toplevel.

In TkInter you should be able to do something similar to:

root = Tkinter.Tk()
root.withdraw() # won't need this

If you want to make the window visible again, call the deiconify (or wm_deiconify) method.

root.deiconify()