2016-08-09 5 views
2

Je suis en train d'écrire un prototype d'une application AVOD Portal pour les systèmes embarqués utilisant Qt et QML. Fondamentalement, j'ai un catalogue de médias (musique, flux, films, etc.). Je prévois d'avoir des vues différentes des médias selon le choix des utilisateurs:Implémentation de différentes vues avec Qt et QSortFilterProxyModel

  • regarder tous les médias
  • visualisation des médias de cinéma
  • visualisation de la musique, etc.

Pour ce faire, je prévois d'implémenter un QAbstractListModel pour implémenter tout mon catalogue. Et puis, je prévois d'implémenter différents objets QSortFilterProxyModel pour filtrer l'affichage en accord avec le choix de l'utilisateur (voir ci-dessus).

J'ai utilisé MVC avec Qt pendant un moment, mais je n'ai jamais utilisé le modèle proxy. Donc, avant d'entrer dans le code, je me demande s'il s'agit d'une solution fiable et si elle correspond à l'intégration des modèles dans QML?

Z.

+0

Vous pouvez également consulter l'emballage qml SortFilterProxyModel disponible sur qpm.io –

+0

merci Marco pour ces commentaires. – Zyend

Répondre

1

Un modèle de proxy est un modèle qui permet d'interroger d'autres modèles en arrière-plan. Le fait qu'un modèle soit un proxy est un détail d'implémentation invisible à l'utilisateur du modèle (par exemple à la vue). Il n'y a rien de spécial à propos d'un modèle étant un proxy du point de vue de l'utilisateur du modèle. Un modèle de proxy est "juste" un QAbstractItemModel avec un code de commodité ajouté si vous dérivez de l'une des classes de base de proxy. En d'autres termes, il n'y a pas grand-chose à un modèle de proxy: il doit remplir toutes les exigences placées sur un QAbstractItemModel, car il en est un.

Alors oui, votre approche fonctionnera.

2

Je me demande si elle est une solution fiable et si elle correspond à l'intégration des modèles en QML?

Oui et oui.