2010-02-13 45 views
4

我一直在學習使用TreeView s,而這兩種類型通常用於訪問樹的特定行。我真的不明白兩者的區別。我的代碼正在工作 - 我根據函數的所需參數在兩者之間來回轉換 - 但不是基於對原因的真正理解。在Gtk中,TreePath和TreeIter有什麼區別?

這兩種類型有什麼區別?

回答

6

這裏有來自Gtk夥計的這個here的詳細解釋。本質上,TreePath是一種描述模型中行的邏輯位置的方法。例如,TreePath「5:3:2」表示:

  • 看看這個級別的第六個[5]節點的孩子;那麼,
  • 看在這個級別的第四[3]節點的孩子;然後,
  • 看看第三[2]節點在這個級別

這正是描述了通過每個樹水平鑽孔後是一個節點。

通過比較,TreeIter是對所討論節點的更直接引用,更像是指向特定節點的指針。