toplevel is roughly like frame that is split off into its own window and has additional methods that allow you to deal with top-level window properties the tk widget is roughly like toplevelbut it is used to represent the application root window toplevel windows have parentsbut tk windows do not--they are the true roots of the widget hierarchies we build when making tkinter guis we got tk root for free in example - because the label had default parentdesignated by not having widget in the first argument of its constructor calllabel(text='popups'pack(on default tk(root window passing none to widget constructor' first argument (or to its master keyword argumenthas the same default-parent effect in other scriptswe've made the tk root more explicit by creating it directlylike thisroot tk(label(roottext='popups'pack(root mainloop(on explicit tk(root window in factbecause tkinter guis are hierarchyby default you always get at least one tk root windowwhether it is named explicitlyas hereor not though not typicalthere may be more than one tk root if you make them manuallyand program ends if all its tk windows are closed the first tk top-level window created--whether explicitly by your codeor automatically by python when needed--is used as the default parent window of widgets and other windows if no parent is provided you should generally use the tk root window to display top-level information of some sort if you don' attach widgets to the rootit may show up as an odd empty window when you run your script (often because you used the default parent unintentionally in your code by omitting widget' parent and didn' pack widgets attached to ittechnicallyyou can suppress the default root creation logic and make multiple root windows with the tk widgetas in example - example - pp \gui\tour\toplevel py import tkinter from tkinter import tkbutton tkinter nodefaultroot(win tk(win tk(two independent root windows button(win text='spam'command=win destroypack(button(win text='spam'command=win destroypack(win mainloop(when runthis script displays the two pop-up windows of the screenshot in figure - only (there is no third root windowbut it' more common to use the tk root as main window and create toplevel widgets for an application' pop-up windows top-level windows