2015-01-18 2 views
0

저는 python3과 tkinter를 사용하여 GUI의 일부로 데이터 입력 양식을 만들고 있습니다. I는 다음과 같이 계속해서 10 데이터 입력 위젯을 만들었습니다한 번에 여러 개의 입력 위젯을 만드는 방법은 무엇입니까?

enter1 = Entry(self,textvariable = shots1) 
enter1.place(x=1000, y=200) 
enter2 = Entry(self, textvariable = shots2) 
enter2.place(x=1000, y=250) 
enter3 = Entry(self, textvariable = shots3) 
enter3.place(x=1000, y=300) 
enter4 = Entry(self, textvariable = shots4) 
enter4.place(x=1000, y=350) 

을 그리고 좀 더 효율적인 방법이 있다면 궁금 해서요 - 어쩌면 사용하여 루프 또는 클래스 - 나는이 모든 것을 함께 만들 수있는?

답변

2

루프를 사용하십시오. 위젯은 다른 종류의 객체와 다를 바 없습니다.

entries =[] 
for i in range(5): 
    entries.append(Entry(self, ...)) 

당신은 textvariables을 사용할 필요가 거의 절대, 그래서 당신은 자신의 고유 한 기능의 일부를 필요로하지 않는 한 나는 그들을 사용하지 않는 것이 좋습니다. place 대신 pack 또는 grid을 사용해야합니다. place은 매우 특정한 가장자리의 경우에만 일반적으로 좋습니다.

+0

감사합니다. 나는 이것을 시도했다. 그러나 어떤 이유로 나는 "목록 할당 색인이 범위를 벗어났다."라는 오류 메시지를 계속 받는다. – Oceanescence

+1

@Oceanescence : 나의 실수. 나는 내가 생각하는 것을 모른다. 나는 다른 언어를 염두에 두었 음에 틀림 없다. 예제를 수정했습니다. 댓글 주셔서 감사합니다. –

+0

대단히 감사합니다! – Oceanescence

관련 문제