2012-10-31 3 views
0

이것은 '선택 카테고리'를 클릭하면 '치즈'가 선택되었을 때 1을 출력하지만 항상 0을 출력합니다. 이유를 말해 주시고 고쳐 주시겠습니까? 나는 이것을 객체로 구성해야한다는 것을 알고 있지만 'Tkinter'객체의 속성으로 'categories'를 다루고 싶습니다. 나는 Python과 Tkinter에 익숙하지 않고 어떻게 속성에 접근할지 모른다. 감사.Tkinter가 목록 상자 선택을 업데이트하지 않습니다

import Tkinter 

root = Tkinter.Tk() 
root.title('Test App') 
mainFrame = Tkinter.Frame(root) 

def mainWindow(): 
    categories = [['Bread','Rye','Wheat'],['Cheese','Feta']] 

    categoryListbox = Tkinter.Listbox() 
    for category in categories: 
      categoryListbox.insert('end', category[0]) 
    categoryListbox.pack() 

    activeIndex = categoryListbox.index('active') 

    selectCategoryButton = Tkinter.Button(text="Select Category", command= lambda: selectCategory(activeIndex)) 
    selectCategoryButton.pack() 

def selectCategory(activeIndex): 
    print activeIndex 


root.mainloop() 

답변

1

한 번만 선택된 인덱스를 검색 :

activeIndex = categoryListbox.index('active') 

모든 미래의 선택이 인덱스를 참조하십시오. 람다를 변경하여 이전 색인을 참조하는 대신 현재 선택된 색인을 검색 할 수 있습니다.

selectCategoryButton = Tkinter.Button(text="Select Category", command= lambda: selectCategory(categoryListbox.index('active'))) 
+0

감사합니다. 그랬어. – LMNOP

관련 문제