这个想法是获取所有按钮、标签、输入字段的信息......给定窗口的树视图。有了这些信息,就可以关闭所有按钮或隐藏名称以“xx”开头的所有输入字段。将想法可视化的最佳方法是树状视图,例如:
\window
\Frame1
\button1(Name,x,y ...)
\button2(..)
\Frame2
Run Code Online (Sandbox Code Playgroud)
直到现在我找到了信息的最后一部分
from tkinter import Button
b = Button()
for k in b.configure().keys():
print (k, ':', b.cget(k))
from tkinter import Listbox
li = Listbox()
for k in li.configure().keys():
print (k, ':', li.cget(k))
Run Code Online (Sandbox Code Playgroud)
但是如何对窗口的所有元素进行迭代?我没有找到类似 typeof(button) == true ... 或 typeof(object) -> Button ...
您可以使用widget.winfo_children()来获取widget. 的直接后代的所有小部件的列表。
给定对小部件的引用,您可以调用widget.keys()以获取小部件的所有可配置选项的列表。您可以使用该cget方法获取值(例如:)widget.cget("background")。
您可以使用winfo_class小部件(例如:)获取小部件的内部 tkinter 类型或类widget.winfo_class()。