我正在使用 Python 2.7 在 Tkinter 中制作 GUI。我有一个框架,其中包含大约 30 个输入框。我现在无法访问代码,但有没有办法检查是否有任何或几个框为空,以便我可以警告用户并询问他们是否要继续?
有没有办法用'for'循环遍历它们并检查每个条目的长度。或者是否有命令检查任何框是否为空?
我正在使用 Python 2.7 在 Tkinter 中制作 GUI。我有一个框架,其中包含大约 30 个输入框。我现在无法访问代码,但有没有办法检查是否有任何或几个框为空,以便我可以警告用户并询问他们是否要继续?
有没有办法用'for'循环遍历它们并检查每个条目的长度。或者是否有命令检查任何框是否为空?
Tkinter.Entry.get
您可以使用method获取条目的内容。
len
使用函数和get
方法检查条目的长度:
if len(entry_object.get()) == 0: # empty!
# do something
或更优选:
if not entry_object.get(): # empty! (empty string is false value)
# do something
使用for
循环检查几个条目小部件:
for entry in entry_list:
if not entry_object.get():
# empty!
entry_list
您应该预先填充。
手动:
entry_list = []
entry = Entry(...)
...
entry_list.append(entry)
entry = Entry(...)
...
entry_list.append(entry)
或者,使用winfo_children
方法(获取所有条目):
entry_list = [child for child in root_widget.winfo_children()
if isinstance(child, Entry)]