我试图了解如何选择QAbstractListModel
或QObject
使用QQmlListProperty
。
鉴于QQmlListProperty
处理"角色"必须使用QAbstractListModel
编写的功能,似乎不那么乏味。
我无法判断大多数人是否建议使用QAbstractListModel
只是因为它存在时间较长或者出于某种原因它是更好的选择。
我也没有找到任何关于两种选择之间权衡的讨论。这个问题是在Qt开发者日讨论QAbstractListModel
的过程中提出来的,但答案是"这也是有效的"。
答案 0 :(得分:3)
使用视图时,模型实现通常会更有效。当您公开“哑列表”以使用模型时,每次模型更改时,都会重建整个视图,而只使用模型更新更改。如果你有很多项目,那将会有明显的性能开销。
您可以使用模型列表,并且可以将模型用于列表,但是当您需要最佳性能时,应该使用列表列表和模型模型。