python - 获取 Gtk TreeView 的行号

标签 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 行。

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

最佳答案

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

path = iter.get_selected_rows()[0]

然后,如果你的树只有一层(例如它不是嵌套树),你可以像这样从路径中获取索引

index = path.get_indices()[0]

这看起来很复杂,但这是因为您的选择可能包含很多行(这就是它返回列表的原因),并且因为树可以有很多级别(这就是它返回路径的原因)。

关于python - 获取 Gtk TreeView 的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14730837/

相关文章:

c - GTK Glade 无法连接信号处理程序

python - 创建列表列表。修改列表中的元素

python - 制作一个 "Any Key"可中断的 Python 定时器

c - 在 gtk 中显示密码按钮

matplotlib gtk 问题

c - 如何在 C 中突出显示 GTKTreeView 行,就像用鼠标选择一样

python - 从 git URI 进行更快的 pip 安装

python - 如何将 csv 文件的内容读入一个类,每个 csv 行作为一个类实例

jquery - $.ajax({}) 不是 django 中的函数

linux - g_timeout_add 是线程安全的(Linux、GTK3、X11)吗?