如何在Python中获取Gtk.TreeView中当前选择行的索引?
另一个回答通常更加有用。然而,为了回答提问者实际提出的问题,即如何获取行索引:假设已选择一行,您可以使用以下代码获得它:
index = treeview.get_selection().get_selected_rows()[1][0][0]
gtk.TreeView.get_selection
来获取当前选择 (gtk.TreeSelection
)。然后,您可以调用 gtk.TreeSelection.get_selected
来获取:
一个由指向 gtk.TreeModel 的引用和指向当前选定节点的 gtk.TreeIter 组成的 2 元组。
您可以在 gtk.TreeModel
上使用 iter(通过调用gtk.TreeView.get_model
获得)。然后,您可以使用 gtk.TreeModel.get_value
获取树中该位置节点的任何列值。
也许有点晚了,可能不是很相关,但是如果您双击所选行,您将获得该行索引作为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