获取Gtk TreeView的行号

时间:2013-02-06 13:56:19

标签: python gtk

我有一个名为 MyTree 的GTk TreeView,其中包含以下数据,

DTime  ATime Transfer Platform

14:30    15:20    0       2a

14:50    15:40    0       14b

15:00    16:00    2       3a

如你所见,我有3行,有4列。所以我需要获取所选行。我这样做了,

selection = MyTree.get_selection()
selection.set_mode(Gtk.SelectionMode.BROWSE)
model, iter = selection.get_selected()

此时它返回指向当前所选行的树iter。这一切都很好。但是我很想知道它是否指向第0,1或2行。

我希望我已经说清楚了。 我需要行索引,而不是行iter。如何获取行号?

1 个答案:

答案 0 :(得分:4)

由于您处于浏览选择模式,因此您知道只有一个选定的行。然后,您可以获取第一个选定项目的路径

path = iter.get_selected_rows()[0]

然后,如果您的树只有一个级别(例如,它不是嵌套树),您可以从这样的路径获取索引

index = path.get_indices()[0]

这似乎很复杂,但这是因为你的选择可能包含很多行(这就是它返回列表的原因),因为树可以有很多级别(这就是它返回路径的原因)。