В Gtk, в чем разница между TreePath и TreeIter? - PullRequest
5 голосов
/ 13 февраля 2010

Я учился использовать TreeView с, и эти два типа часто используются для доступа к определенной строке дерева. Я не очень понимаю разницу между ними. Мой код работает - я конвертирую туда и обратно между двумя на основе обязательных параметров функции - но не на основе реального понимания того, почему.

В чем разница между этими двумя типами?

1 Ответ

6 голосов
/ 13 февраля 2010

Подробное объяснение этого здесь от ребят из Gtk. По сути, TreePath - это способ описания логического положения строки в модели. Например, TreePath "5: 3: 2" означает:

  • посмотрите на детей шестого [5] узла на этом уровне; то,
  • посмотрите на детей четвертого [3] узла на этом уровне; затем,
  • посмотрите на третий [2] узел на этом уровне

Это точно описывает один узел, за которым вы просверлили каждый уровень дерева.

Для сравнения TreeIter - это более прямая ссылка на рассматриваемый узел, больше похожая на указатель на конкретный узел.

...