2016-11-03 3 views
-2

사람이 예를 들어 GUI Tk 항목에 "Information Systems"라는 제목으로 입력하는 검색 기능으로 프로그램을 작성하는 중입니다. 정보 시스템을 가진 기록.사전에서 목록 상자로 선택한 값을 표시하는 방법

그래서 기본적으로 나는 정보 시스템을 입력하면
StudentList[[Tom,Information systems],[John,Computers]] 

, 내 목록 상자에 표시해야합니다 :

어떻게 내가이 검색 기능을 작동하게 할 "톰, 정보 시스템"여기에 몇 가지 코드는? 이 내가이 대략 당신이 찾고있는 무엇을

for i in students: 
    if viewcode == True: 
     lb1.insert(END,str(i)) 
+0

그래서 ... 무엇을 시도 했습니까? [MCVE] – Lafexlos

+0

질문에 넣었습니다. –

+1

'viewcode' 란 무엇입니까? 왜 작동하지 않습니까? – Moberg

답변

0

을 시도하는 것이다. 입력 상자에 검색어를 입력하고 Return 키를 누릅니다. 그러면 Listbox에 학생 목록의 일치하는 항목이 채워집니다.

from tkinter import * 

student_list = [['Tom','Information Systems'],['John','Computers']] 


class App(Frame): 
    def __init__(self,parent=None,**kw): 
     Frame.__init__(self,master=parent,**kw) 
     self.searchValue = StringVar() 

     self.searchBox = Entry(self,textvariable=self.searchValue) 
     self.searchBox.pack() 
     self.resultList = Listbox(self) 
     self.resultList.pack() 

     self.searchBox.bind('<Return>',self.update) 

    def update(self,e): 
     print("*") 
     self.resultList.delete(0,END) 
     searchkey = self.searchValue.get() 
     for student in student_list: 
      if searchkey == student[0]: 
       self.resultList.insert(END,str(student)) 
      elif searchkey == student[1]: 
       self.resultList.insert(END,str(student)) 

if __name__ == '__main__': 
    root = Tk() 
    app = App(root) 
    app.pack() 
    root.mainloop() 
관련 문제