8
votes

Gtk.treeview obtenez l'indice de ligne actuelle à Python

Comment obtenir l'index de la ligne actuelle sélectionnée dans gtk.treeview à Python?


0 commentaires

3 Réponses :


7
votes

Vous pouvez appeler GTK .Treeview.get_selection pour obtenir la sélection actuelle ( gtk.troeselection ). Vous pouvez ensuite appeler gtk.troeselection .get_selected pour obtenir:

Un 2 tuple contenant une référence à la GTK.TREEMODEL et à un gTK.Treeiter pointant vers le nœud actuellement sélectionné.

Le iTER peut être utilisé sur un gtk.treemodel (qui est obtenu en appelant gtk.treeview.get_model . Vous pouvez ensuite utiliser gtk.treeemodel.get_value pour obtenir l'une des valeurs de colonne du noeud à cette position dans l'arbre.


0 commentaires

13
votes

L'autre réponse est probablement plus utile en général. Cependant, pour répondre à la question réelle posée par l'OP, comment obtenir l'indice de ligne: supposer une ligne est sélectionnée, vous pouvez l'obtenir avec:

index = treeview.get_selection().get_selected_rows()[1][0][0]


1 commentaires

Remercier! J'ai passé des heures à chercher ça! Comment on est censé savoir que? C'est presque un haack :)



1
votes

Un peu tard, peut-être pas aussi pertinent, mais si vous avez double-cliqué sur la ligne sélectionnée, vous obtiendrez l'index de la rangée comme élément de TreePath Tuple, comme xxx


0 commentaires