2011-10-29 14 views
11

Sto imparando PyGtk. Ho una semplice vista ad albero con 1 colonna, ottengo articoli per quella vista ad albero dalla lista.Come ottenere il valore dall'elemento selezionato in treeview in PyGTK?

Come ottenere il valore dell'elemento selezionato in treeview?

+0

PS: Non dimenticare di accettare (cliccando sul "diritto" a sinistra della risposta) la mia risposta se vi si addice. Grazie ! –

risposta

20

È possibile utilizzare il metodo gtk.TreeView.get_selection() per ottenere il gtk.TreeSelection.

Successivamente, è necessario utilizzare il metodo gtk.TreeSelection.get_selected_rows() per ottenere i percorsi TreeModel (ListStore) e gli elementi selezionati .

Quindi, è possibile utilizzare gtk.TreeModel.get_iter() per ottenere l'iter dal percorso (restituito dal metodo gtk.TreeSelection.get_selected_rows()).

Infine, è possibile utilizzare il metodo gtk.TreeModel.get_value() per ottenere il valore corrispondente alla colonna e l'iter precedentemente ripristinato.

Esempio:

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

Fantastico, grazie mille! – shiii

Problemi correlati