代码之家  ›  专栏  ›  技术社区  ›  Matthew

在Gtk中,如何在ListStore中搜索包含特定值的行?

  •  2
  • Matthew  · 技术社区  · 16 年前

    我有一个 ListStore 为列表建模 Tag S此列表可能会发生变化,除了 列表存储 TagRemoved 我生命中的事件 TagList 标签 从 列表存储 当事件被触发时。然而,我似乎找不到一种方法来搜索 列表存储 对于包含给定 标签

    有没有办法做到这一点?

    2 回复  |  直到 13 年前
        1
  •  4
  •   Kai    16 年前

    A. GtkListStore 实现 GtkTreeModel 接口,其中包含所需的树遍历操作。据我所知,没有用于搜索列表/树存储的方便API,因此您必须自己启动。

    因为你只是在一个 GtkListStore ,您可以忽略所有处理子/父关系的API,只需使用 gtk_tree_model_iter_first() 和 gtk_tree_model_iter_next()

    或者,如果您已经知道存储中已删除标签的索引(例如,从 TagRemoved GtkTreePath gtk_tree_model_get_iter()

        2
  •  1
  •   ntd    16 年前

    GtkListStore在内部实现为 linked list 所以你应该自己扫描模型。