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

发布于 2024-08-21 03:35:42 字数 123 浏览 10 评论 0原文

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

这两种类型有什么区别?

I've been learning to use TreeViews, and these two types are often used for accessing a particular row of a tree. I don't really understand the difference between the two. My code is working--I convert back and forth between the two based on a function's required parameters--but not based on any real understanding of why.

What is the difference between these two types?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉城 2024-08-28 03:35:42

此处有详细说明< /strong> 来自 Gtk 人员。本质上,TreePath 是一种描述模型中行的逻辑位置的方法。例如,TreePath“5:3:2”的意思是:

  • 查看本级第六个[5]节点的子节点;然后,
  • 查看该级别第四个 [3] 节点的子节点;然后,
  • 查看该级别的第三个 [2] 节点。

这准确地描述了您通过钻取每个树级别所要查找的一个节点。

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

There's a detailed explanation of this here from the Gtk folks. Essentially, a TreePath is a way to describe the logical position of a row in the model. For example, the TreePath "5:3:2" means:

  • look at the children of the sixth [5] node at this level; then,
  • look at the children of the fourth [3] node at this level; then,
  • look at the third [2] node at this level

This exactly describes the one node you're after by drilling through each tree level.

By comparison, a TreeIter is a more direct reference to the node in question, more like a pointer to a specific node.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文