Skip to content Skip to sidebar Skip to footer

Get List Of Toplevels On Tkinter

I wanted to know if there is a simple way to get all the toplevels from a specific window, including toplevels within toplevels. In the following code I leave an example of what I

Solution 1:

Every widget has list of its children and using recursion you can get all widgets.

from tkinter import Tk, Toplevel, Label

v = Tk()
v2 = Toplevel(v)
v3 = Toplevel(v2)
v4 = Toplevel(v2)
Label(v)
Label(v2)
Label(v3)
Label(v4)

deftoplevels(ventana):
    for k, v in ventana.children.items():
        ifisinstance(v, Toplevel):
            print('Toplevel:', k, v)
        else:
            print('   other:', k, v)
        toplevels(v)

toplevels(v)

Result

Toplevel:!toplevel.!toplevelToplevel:!toplevel.!toplevel.!toplevelother:!label.!toplevel.!toplevel.!labelToplevel:!toplevel2.!toplevel.!toplevel2other:!label.!toplevel.!toplevel2.!labelother:!label.!toplevel.!labelother:!label.!label

Post a Comment for "Get List Of Toplevels On Tkinter"