提问人:Damn Vegetables 提问时间:12/22/2022 最后编辑:Damn Vegetables 更新时间:12/22/2022 访问量:33
Gtk.TreeModelFilter,使用VisibleFunc时没有自动显示父级的方法?
Gtk.TreeModelFilter, no automatic way to show parent when using VisibleFunc?
问:
似乎有两种相互排斥的过滤器使用方式:
- 设置函数以确定可见性。
- 设置布尔列以表示可见性。
(1) 的问题在于,如果任何祖先与函数不匹配,则不会显示匹配的子项。例如,如果 VisibleFunc 返回 true,则当当前节点的名称包含以下树的“b”时,将仅显示“bc”,而不显示“ab”,因为其父节点“a”没有“b”。
- 一个
- 一、乙
- 交流
- b
- 乙c
我认为在大多数用例中,这不是用户想要的。我看到一个现有的问题,答案是用(2)代替。基本上,答案的作用似乎是手动遍历树,如果当前节点符合条件,则迭代到根节点并更改所有祖先的可见性。它会起作用,但看起来有点尴尬,因为它需要修改 TreeStore 本身并执行手动遍历。
由于我认为显示匹配的子节点是一个常见的用例,即使不是它的所有祖先都匹配,(1)对此没有任何选择吗?比如,继续将 VisibleFunc 应用于与函数不匹配的节点的所有后代,并自动使所有祖先可见?或者,使用(2)是唯一的方法吗?
答: 暂无答案
评论