Gtk.Treeview在Python中获取当前行索引

时间:2012-07-10 05:59:29

标签: python gtk pygtk gtktreeview

如何在Python中的Gtk.TreeView中获取当前所选行的索引?

3 个答案:

答案 0 :(得分:2)

您可以致电gtk.TreeView.get_selection获取当前选择(gtk.TreeSelection)。然后,您可以致电gtk.TreeSelection.get_selected获取:

  

包含对gtk.TreeModel的引用的2元组和指向当前所选节点的gtk.TreeIter。

iter可用于gtk.TreeModel(通过调用gtk.TreeView.get_model获得。然后,您可以使用gtk.TreeModel.get_value获取该位置的节点的任何列值树。

答案 1 :(得分:0)

通常,其他答案可能更有用。但是,要回答OP提出的实际问题,如何获取行索引:假设选择了一行,则可以使用以下方法获取它:

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

答案 2 :(得分:0)

有点晚了,也许不是那么相关,但是如果您双击所选行,您将获得行索引作为 TreePath 元组的元素,就像这样

    def on_row_activated(self, treeview, path, column):
        model = self.treeview.get_model()
        tree_iter = model.get_iter(path)
        row = path[0]
        if tree_iter:
            # here you can get the values of the columns