从框架中获取所有 Entry 文本内容
Getting all of the Entry text content from a frame
如果我有一个名为变量 table
的框架,该框架内有多个 Entry 小部件,是否有获取所有 Entry 小部件文本内容的方法?
是的。在下面的示例中,当单击按钮时,将检查父窗口小部件中的每个子窗口小部件是否等于条目,然后打印它们的内容:
try:
import tkinter as tk
except ImportError:
import Tkinter as tk
def get_all_entry_widgets_text_content(parent_widget):
children_widgets = parent_widget.winfo_children()
for child_widget in children_widgets:
if child_widget.winfo_class() == 'Entry':
print(child_widget.get())
def main():
root = tk.Tk()
table = tk.Frame(root)
for _ in range(3):
tk.Entry(table).pack()
tk.Button(table, text="Get",
command=lambda w=table: get_all_entry_widgets_text_content(w)).pack()
table.pack()
tk.mainloop()
if __name__ == '__main__':
main()
根据条目的实例化方式,可以有更好的 get_all_entry_widgets_text_content
方法,但是,无论如何,这个方法应该适用于所有直接子级。
如果我有一个名为变量 table
的框架,该框架内有多个 Entry 小部件,是否有获取所有 Entry 小部件文本内容的方法?
是的。在下面的示例中,当单击按钮时,将检查父窗口小部件中的每个子窗口小部件是否等于条目,然后打印它们的内容:
try:
import tkinter as tk
except ImportError:
import Tkinter as tk
def get_all_entry_widgets_text_content(parent_widget):
children_widgets = parent_widget.winfo_children()
for child_widget in children_widgets:
if child_widget.winfo_class() == 'Entry':
print(child_widget.get())
def main():
root = tk.Tk()
table = tk.Frame(root)
for _ in range(3):
tk.Entry(table).pack()
tk.Button(table, text="Get",
command=lambda w=table: get_all_entry_widgets_text_content(w)).pack()
table.pack()
tk.mainloop()
if __name__ == '__main__':
main()
根据条目的实例化方式,可以有更好的 get_all_entry_widgets_text_content
方法,但是,无论如何,这个方法应该适用于所有直接子级。