2010-02-13 3 views
4

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

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

ответ

6

Подробное объяснение этого here от людей Gtk. По существу, TreePath - это способ описания логической позиции строки в модели. Например, TreePath «5: 3: 2» означает:

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

Это точно описывает один узел, вы после этого путем бурения на каждом уровне дерева.

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