【发布时间】:2018-07-11 21:58:46
【问题描述】:
有没有办法在 ListView 中的某个事件上隐藏特定项目?
到目前为止,我可以通过将 visible 设置为 false 并将 height 设置为零代表来做到这一点。
但是,如果我将 listView 中的间距设置为 2,例如,这个解决方案似乎被破坏了。
【问题讨论】:
-
您应该将间距作为委托的一部分实现或使用QSortFilterProxyModel
-
是的,一定要在委托中放置空格,代理在 IMO 中太过分了。
-
这取决于需要隐藏的代表数量。
-
@folibis 停止设置
height = 0 - spacing -
在我看来,更简洁的解决方案是模型本身更新并删除您不想显示的项目(不是内存中的数据,而是模型中的元素)。这需要更多的工作,但如果您在不同的视图中显示此列表,它会变得更加健壮且易于管理。