Qt qqmlistproperty与QAbstractListModel

Qt qqmlistproperty与QAbstractListModel,qt,qml,qabstractlistmodel,Qt,Qml,Qabstractlistmodel,我试图理解人们如何选择是使用QAbstractListModel还是使用qqqmlistproperty的QObject 考虑到qqmlistproperty处理必须使用QAbstractListModel编写的“角色”功能,这似乎是一条不那么繁琐的路线 我不知道是否大多数人建议使用QAbstractListModel,仅仅是因为它存在的时间更长,还是出于某种原因,它是更好的选择 我也没有找到任何关于这两种选择之间权衡的讨论。这个问题是在Qt开发者日讨论QAbstractListModel时提出

我试图理解人们如何选择是使用
QAbstractListModel
还是使用
qqqmlistproperty
QObject

考虑到
qqmlistproperty
处理必须使用
QAbstractListModel
编写的“角色”功能,这似乎是一条不那么繁琐的路线

我不知道是否大多数人建议使用
QAbstractListModel
,仅仅是因为它存在的时间更长,还是出于某种原因,它是更好的选择


我也没有找到任何关于这两种选择之间权衡的讨论。这个问题是在Qt开发者日讨论
QAbstractListModel
时提出来的,但答案是“那也行”

一个模型实现通常会更有效地使用视图。当您公开“哑列表”以使用模型时,每次模型更改时,都会重建整个视图,而对于模型,则只更新更改。如果您有很多项目,那么将有有形的性能开销

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