2014-02-19 148 views
0

我正在用Python 2.7在Tkinter中制作一个GUI。我有一个框架,其中有大约30个输入框。我现在无法访问代码,但有没有办法检查是否有任何或几个框为空,以便我可以警告用户并询问他们是否要继续操作?如何检查Tkinter中的任何输入框是否为空?

是否有办法通过'for'循环来检查每个条目并检查每个条目的长度。还是有一个命令来检查是否有空盒子?

回答

1

您可以使用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)] 
+0

我怎么会遍历这个在几个输入框? – Cole

+1

@ user3242026,使用'for'循环:'在entry_list中输入:...'。当然,你应该在创建条目时填充'entry_list'。 – falsetru

+0

你如何去填充这个列表。 'entry_list.append(元件)'? – Cole