获取 Tkinter 窗口的每个子部件

为了获取有关小部件的信息,tkinter 提供了一组可用于在应用程序中测试小部件的方法。为了获得所有子部件的列表,我们可以使用该winfo_children()方法。

示范

在这个例子中,我们在一个框架中定义了一些小部件,通过使用该winfo_children()方法,我们将打印包含所有小部件名称的列表。

#Import tkinter library
from tkinter import *
#Create an instance of tkinter frame
win = Tk()
#Set the geometry
win.geometry("750x200")
#Create a frame
frame= Frame(win)
#Create label, button widgets
Label(frame, text= "Top Level Text", font= ('Helvetica 20 bold')).pack(pady=20)
Button(frame, text= "Left").pack(side=LEFT)
Button(frame, text= "Right").pack(side= RIGHT)
Button(frame, text= "Center").pack(side= BOTTOM)
frame.pack()
#Print the List of all Child widget Information
print(frame.winfo_children())
win.mainloop()
输出结果

执行上面的代码将显示一个带有标签和三个按钮的窗口,

在控制台上,它将打印框架小部件中定义的所有小部件的列表。

[<tkinter.Label object .!frame.!label>, <tkinter.Button object .!frame.!button>, <tkinter.Button object .!frame.!button2>, <tkinter.Button object .!frame.!button3>]