2014-05-10 2 views
2

gtk-list에 항목을 저장하고 Gtk TreeView를 List로 사용하기로 결정했습니다. 왜냐하면 나는 Python과 gtk에 대해 매우 익숙하기 때문에 TreeView에 문자열 표현으로 요소를 저장하고 그에 따른 객체를 별도의 python-list에 저장하려고합니다.Python - Gtk.ListStore를 사용하는 Gtk.TreeView는 선택된 인덱스를 가져옵니다.

키 이벤트를 통해 Gtk 목록에서 항목을 삭제하면 선택한 행 색인을 확인하여 올바른 python-list 요소를 삭제할 수 있어야합니다.

내 실제 질문 : Gtk.TreeView에서 선택한 행의 색인을 어떻게 확인할 수 있습니까?

도움 주셔서 감사합니다.

PS : 나는 GTK 3

답변

3

사용 Gtk.TreeViewSelection 파이썬 3를 사용하고 있습니다. Gtk.TreeView (GtkTreeModel (GtkListStore 또는 GtkTreeStore) 생성자에 ID 열이 있다고 가정)에서 가져올 수 있습니다.

from gi.repository import Gtk 

    def yourcallback (selection): 
     model,list_iter = selection.get_selected() 
     if list_iter != None: 
     # Debugging mode, uncomment to activate 
     # print "row index = " + model[list_iter][column_number_that_you_want] 


    # alternate 
    # def yourcallback (path, column, data): 
    # ........ 


    .......... 
    yourtvselection   = yourtv.get_selection()   
    yourtvselection.connect ("changed" , yourcallback) 
    # alternative signal 
    # yourtv.connect ("row-activated", yourcallback) 
관련 문제