使用Qt和QSortFilterProxyModel

时间:2016-08-09 13:03:20

标签: c++ qt qml qsortfilterproxymodel

我目前正在使用Qt和QML为嵌入式系统编写AVOD Portal应用程序的原型。

基本上,我有一个媒体目录(音乐,流,电影等)。 我计划根据用户的选择对媒体有不同的看法:

  • 查看所有媒体
  • 仅查看电影媒体
  • 仅查看音乐等。

为此,我计划实施QAbstractListModel来实现我的整个目录。 然后,我计划实现不同的QSortFilterProxyModel对象来根据用户的选择过滤显示(参见上文)。

我一直在使用MVC和Qt一段时间,但我从未使用过代理模型。 所以在进入代码之前,我想知道它是否是一个可靠的解决方案,是否适合将模型集成到QML中?

Ž。

2 个答案:

答案 0 :(得分:2)

  

我想知道它是否是一个可靠的解决方案,是否适合将模型集成到QML中?

是的,是的。

答案 1 :(得分:1)

代理模型是碰巧在幕后查询其他模型的模型。模型是代理是模型的用户不可见的实现细节(例如,视图)。从模型用户的角度来看,作为代理的模型没有什么特别之处。代理模型是"只是"如果您碰巧从其中一个代理基类派生,则QAbstractItemModel添加了一些便利代码。

换句话说,代理模型并不多:它必须满足QAbstractItemModel上的所有要求,因为它是一个。

是的,你的方法会奏效。