在Gtk中,TreePath和TreeIter之间有什么区别?

时间:2010-02-13 02:19:16

标签: c# gtk gtk# gtktreeview

我一直在学习使用TreeView,这两种类型通常用于访问树的特定行。我真的不明白两者之间的区别。我的代码正在运行 - 我根据函数的必需参数在两者之间来回转换 - 但不是基于对原因的真正理解。

这两种类型有什么区别?

1 个答案:

答案 0 :(得分:6)

Gtk人员对此 here 进行了详细解释。实质上,TreePath是一种描述模型中行的逻辑位置的方法。例如,TreePath“5:3:2”表示:

  • 看看这个级别的第六个[5]节点的子节点;然后,
  • 在这个级别查看第四个[3]节点的子节点;然后,
  • 查看此级别的第三个[2]节点

这通过钻取每个树级别来准确描述您所追求的一个节点。

相比之下,TreeIter是对相关节点的更直接引用,更像是指向特定节点的指针。