2014-02-19 3 views
0

저는 Tkinter에서 Python 2.7로 GUI를 만들고 있습니다. 나는 다른 것들 사이에 약 30 개의 입력 상자가있는 프레임을 가지고 있습니다. 지금 당장 코드에 액세스 할 수는 없지만 상자가 비어 있는지 확인하여 사용자에게 경고하고 계속 진행할 것인지 물어볼 수있는 방법이 있습니까?Tkinter에서 입력란이 비어 있는지 어떻게 확인합니까?

'for'루프를 사용하여 각 항목을 검토하고 각 항목의 길이를 확인하는 방법이 있습니까? 아니면 상자가 비어 있는지 확인하는 명령이 있습니까?

답변

1

Tkinter.Entry.get method을 사용하여 항목의 내용을 가져올 수 있습니다.

if len(entry_object.get()) == 0: # empty! 
    # do something 

보다 바람직 :

if not entry_object.get(): # empty! (empty string is false value) 
    # do something 

사용 for 루프 여러 항목 위젯을 확인 : len 기능 get 방법을 사용하여 항목의 길이

체크

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

관련 문제