8

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

4

3 回答 3

13

一般来说,另一个答案可能更有用。但是,要回答 OP 提出的实际问题,如何获取行索引:假设选择了一行,您可以通过以下方式获取它:

index = treeview.get_selection().get_selected_rows()[1][0][0]
于 2019-01-23T00:35:27.713 回答
7

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

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

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

于 2012-07-10T08:25:48.373 回答
1

有点晚了,可能不太相关,但是如果您双击所选行,您将获得行索引作为 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
于 2021-02-17T11:13:43.553 回答