2011-10-29 61 views
11

私はPyGtkを学んでいます。私は1列の単純なツリービューを持っています。リストからそのツリービューの項目を取得します。PyGTKのツリービューで選択したアイテムから値を取得する方法は?

ツリービューで選択したアイテムの値を取得するにはどうすればよいですか?

+0

PS:それはあなたに合っている場合(答えの左に「右」をクリックすることで)私の答えを受け入れることを忘れないでください。ありがとう! –

答えて

20

gtk.TreeSelectionにはgtk.TreeView.get_selection()メソッドを使用できます。

次に、gtk.TreeSelection.get_selected_rows()メソッドを使用して、TreeModel(ListStore)と選択した項目 のパスを取得する必要があります。

次に、gtk.TreeSelection.get_selected_rows()メソッドから返されたパスからiterを取得するためにgtk.TreeModel.get_iter()を使用できます。

最後に、gtk.TreeModel.get_value()メソッドを使用して、以前に復元された列とiterに対応する値を取得できます。

例:

def onSelectionChanged(tree_selection) : 
    (model, pathlist) = tree_selection.get_selected_rows() 
    for path in pathlist : 
     tree_iter = model.get_iter(path) 
     value = model.get_value(tree_iter,0) 
     print value 

listStore = gtk.ListStore(int) 
treeview = gtk.TreeView() 
treeview.set_model(listStore) 
tree_selection = treeview.get_selection() 
tree_selection.set_mode(gtk.SELECTION_MULTIPLE) 
tree_selection.connect("changed", onSelectionChanged) 
+0

すごく、ありがとう! – shiii

関連する問題