Man*_*ood 14 c++ model-view-controller qt
我开始使用Qt模型视图系统和QStandardItemModel以及一些视图.但后来我注意到还有一些小部件 - 树,表,列表,它们几乎与视图一样使用.我阅读了关于它的 Qt文档,并且诚实不理解我们还需要什么小部件,为什么视图不够......
Fra*_*eld 10
Q*Widgets易于使用,易于使用.它们可能会变得乏味,但在您必须查找并随后更新项目时进行处理.然后,一旦你理解了概念,编写自定义模型通常会更容易.此外,对于大量项目,自定义模型将具有更好的性能.
结合视图的自定义模型更灵活:它们允许使用代理模型,尤其是QSortFilterProxyModel,这使得基本排序和过滤非常简单.
如果自定义模型看起来太令人生畏(它们可能变得很复杂,特别是对于树模型)并且您仍然需要视图和代理的灵活性,我建议查看QStandardItemModel:它为您提供了基于项目的API,如Q*Widget do,但是可以与不同的代理和视图自由组合.如果您在某个时候决定选择自定义模型,只需更换模型,您根本就没有触摸代理和视图.
你应该知道两件事.
速度数据加载有多重要.看到这个问题 - Qt模型/视图与标准小部件.
是否需要实现比QStandardItemModel更有用的QAbstractItemModel?例如,如果您已经有一个需要存在于视图中的QVector,那么您将很好地使用自己的模型而不是标准.
| 归档时间: |
|
| 查看次数: |
12952 次 |
| 最近记录: |