10

我试图了解如何选择使用 aQAbstractListModel或 aQObject与 a QQmlListProperty

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

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

我也找不到任何关于这两种选择之间权衡的讨论。这个问题是在 Qt Developer Days 讨论中提出的QAbstractListModel,但答案是“这也可以”。

4

1 回答 1

5

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

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

于 2015-04-10T23:38:59.813 回答