Comment accéder aux rôles de currentItem à partir d'une listview dans QML?

J'essaye d'accéder à un rôle d'une ListView en QML. En gros, j'ai ceci dans mon QML:

ListView {
    id: myId
    model: myModel
    delegate: Item {
        Text {
            text: model.text
        }
        Text {
            text: model.moreText
        }
    }
}

myModel est un QAbstractListModel mise en œuvre. Le QML partie de ce qui est un composant réutilisable, de sorte que le modèle pourrait avoir n'importe quel nombre de rôles différents avec différents types de données. Ce que je voudrais faire est de se lier à la valeur du rôle de la currentItem propriété de la ListView. En d'autres termes, j'aimerais avoir quelques autres Component sur la page qui pourrait lier une propriété de l'élément actuellement sélectionné dans la liste comme suit:

Text {
    text: myId.currentItem.text //Or myId.currentItem.model.text (or something similar)
}

Veuillez garder à l'esprit que j'ai besoin de cette manière générique disponible, comme je vais le faire beaucoup pour un certain nombre de types de modèle et j'essaie de ne pas écrire ce genre de code personnalisé pour chaque modèle et de la ListView.

Il semble que ce devrait être simple pour accéder à une propriété de l'élément actuellement sélectionné, mais aussi loin que je peux dire c'est pas possible. Le problème est en outre compliquée par le fait que les modèles semblent être traités différemment quand il n'y a qu'un seul rôle. Par cela, je veux dire que, parfois, vous accédez à vos rôles à l'aide model.roleName alors que quand il n'y a qu'un seul rôle que vous utilisez modelData.

Si quelqu'un a des suggestions, je voudrais vraiment l'apprécier. Merci beaucoup!

MODIFIER

J'ai trouvé ceci:

http://comments.gmane.org/gmane.comp.lib.qt.qml/1778

Toutefois, cela ne semble pas fonctionner pour moi. J'obtiens des erreurs de type lorsque j'essaie d'utiliser les données dans mon QML scripts, et il n'y a pas de conversion de type de disponible donc je ne sais pas quoi faire. Toutes les suggestions sont les bienvenues!

Merci!

Jack

source d'informationauteur Jack Benson