2

我有一个ListStore建模Tags 的列表。此列表可能会与ListStore. 我想做的是TagRemoved在我的TagList课堂上收听事件,并TagListStore事件触发时删除。但是,我似乎无法找到一种方法来搜索ListStore包含给定的行Tag,以便将其删除。

有没有办法做到这一点?

4

2 回答 2

4

AGtkListStore实现了GtkTreeModel接口,里面包含了你想要的树遍历操作。据我所知,没有用于搜索列表/树存储的便捷 API,因此您必须自己动手。

由于您只是简单地迭代 a GtkListStore,因此您可以忽略所有处理子/父关系的 API,而只需使用gtk_tree_model_iter_first()andgtk_tree_model_iter_next()遍历列表。

或者,如果您已经知道商店中已删除标签的索引(例如,从您的TagRemoved事件中),您可以将其转换为 aGtkTreePath并用于gtk_tree_model_get_iter()直接检索有问题的行而无需搜索。

于 2010-02-06T21:07:45.090 回答
1

GtkListStore 在内部实现为链表,因此您应该自己扫描模型。

于 2010-02-06T20:45:07.687 回答