我试图了解如何选择将QAbstractListModel还是QObjectQQmlListProperty一起使用。

鉴于QQmlListProperty处理了必须使用QAbstractListModel编写的“角色”功能,这似乎是一条比较乏味的路线。

我不能说大多数人是否只是因为使用QAbstractListModel的时间较长而建议使用它,还是出于某种原因是否是更好的选择。

我也无法找到有关这两种选择之间的权衡取舍的任何讨论。这个问题是在Qt开发人员日的讨论QAbstractListModel的讨论中提出的,但答案却是“同样可行”。

最佳答案

模型实现通常将更有效地使用 View 。当您公开“哑表”以使用模型时,每次模型更改时,都会重建整个 View ,而对于模型,则仅更新更改。如果您有很多项目,则将产生明显的性能开销。

您可以为模型使用列表,也可以为列表使用模型,但是当要获得最佳性能时,应该为列表使用列表,为模型使用模型。

10-01 15:06