2013-03-03 6 views
2

.sql 파일을 검색 할 GUI 위젯을 만들려고합니다. 나는 tkinter를 사용하고 있는데 for 루프가 작동하지 않는다. 그것은 단지 하나 개의 결과를 표시하는 경우가 많은python 2.7에서 tkinter로 for 루프를 사용하려면 어떻게해야합니까?

def OnPressEnter(self,event): 
    with con: 
     cur = con.cursor() 
     t = self.entryVariable.get() 

     cur.execute("select * from Dict where Def LIKE ? OR word LIKE ? LIMIT 12", ('%'+t+'%', '%'+t+'%')) 
     rows = cur.fetchall() 

     for row in rows: 
      #printing second & third column(See tuples) 

      self.labelVariable.set(row[1]) 

      self.labelVariable.set(row[2]) 

나는 "애플이"난 단지 "$ 499"내 결과 중 하나를 얻을 것이다 입력하면 5. 그렇다면 어떻게하면 루프가 작동합니까?

답변

1

for 루프가 아닙니다. 동일한 변수를 두 번 설정하고있는 것입니다. 여기 : 먼저 문자열을 생성하고 값을 설정

label = "" 
for row in rows: 
    label += row[1] + ":" + row[2] + "\n" 
self.labelVariable.set(label) 
#print to check the label string 
print label 

:

for row in rows: 
     #printing second & third column(See tuples) 
     #sets the variable 
     self.labelVariable.set(row[1]) 
     #sets the variable again to a different value 
     self.labelVariable.set(row[2]) 

당신이 뭔가를 할 수 있습니다. 레이블 값에는 행을 구분하는 개행 문자가있는 두 개의 값이 콜론 (:)으로 표시되어야합니다.

+0

5가있을 때 나는 아직도 하나의 결과만을 얻고 있습니다. 루프에 뭔가있는 것처럼 보입니다. [내 GUI입니다] (http://imgur.com/AALHCzk) & 내 [콘솔에서 출력 중입니다] (http://imgur.com/gaWtQPw). – Bossman759

+0

도움이 될만한 전체 코드 [here] (https://github.com/bossman759/wiki-serach/blob/master/gui.py)를 확인할 수 있습니다. – Bossman759

+1

for 루프 [여기] (https://github.com/bossman759/wiki-serach/blob/master/gui.py#L78)와 다른 곳에서는'label = ""'을 이동하십시오. 매 반복마다'label' 값을 재설정하고 마지막 행 값을 버립니다. – Raufio

관련 문제