由于我只应对模型进行少许修改,因此透明代理将是最佳起点.此代理将插入到模型链中.
制作代理模型的最简洁方法是什么,在两个方向上源和目标模型之间的每一件事都没有改变?
是否有任何琐碎的index(),mapToSource(),mapFromSource()使用,...翻译sourceModel()?
我需要扩展的是data()角色和flags().
我知道这应该很容易制作,但我不想让它变得多么复杂,并且通过实践来学习.
谢谢你的时间.
如果您使用的是Qt 4.8或更高版本,则可以使用QIdentityProxyModel,它完全相同:它直接映射源模型而不更改结构,因此您可以重新实现data()和/或flags()修改返回的内容.
在Qt 4.7及更早版本中,最简单的方法是重新实现QSortFilterProxyModel而不使用任何排序或过滤,只需覆盖data()和flags().