GTK中,如何搜索包含特定值的行一个ListStore?
-
19-09-2019 - |
题
我有一个ListStore
建模Tag
s的列表。这个列表可以从ListStore
除了改变。我想要做的就是听我TagRemoved
类TagList
事件,当事件触发时从Tag
删除ListStore
。不过,我似乎无法找到一个方法来搜索包含给定ListStore
行A Tag
,这样我就可以将其删除。
有没有办法做到这一点?
解决方案
一个GtkListStore
实现GtkTreeModel
接口,其中包含你想要的树遍历操作。据我所知,有一个搜索列表/树店,所以你必须推出自己没有方便的API。
既然你只是遍历一个GtkListStore
,你可以忽略所有处理父/子关系的API,并且只需使用gtk_tree_model_iter_first()
和gtk_tree_model_iter_next()
遍历列表。
另外,如果你已经知道了去除标签中存储(例如,从您的TagRemoved
事件),你可以把它转换成一个GtkTreePath
和使用gtk_tree_model_get_iter()
检索有关该行的情况下直接搜索索引。
其他提示
GtkListStore在内部为链表,以便实现你应该自己扫描模式。
不隶属于 StackOverflow