Connexion à chaque modèle d'une ListModel

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Salut,
Je cherche à établir un lien, en qml, avec chacun des éléments d'une ListModel.

Ma ListModel :

1
2
3
ListModel {
        id: cardModel
    }

se remplit avec une fonction :

1
2
3
4
5
6
7
8
9
function addCard(carte)
    {
        var item = {
            title : carte.nom,
            version : carte.version,
            etat : carte.etat
        }
        cardModel.append(item);
    }

où carte est un objet importé du C++. (addCard se déclenche sur un signal)

Je veux établir une connexion avec le champ "etat" de chacun de ces éléments.

Voici donc mon idée (qui ne marche pas, sinon je ne serais pas en train de poster :p ) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
ListView {
        model: cardModel
        delegate: Component {
            id: cardchecker
            Connections {
                target: model
                onEtatChanged: {
                    [...]
                }
            }
        }
    }

Seulement je ne sais pas comment remplir le champ "target" de ma connection dans ce cas.

Quelqu'un serait-il en mesure de m'aider ?

Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison - Coluche

+0 -0
Auteur du sujet

J'ai rien dit, erreur nulle. Il suffit de délégué à un Item, pas un component, ça veut rien dire.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
ListView {
        model: cardModel
        delegate: Item {
            id: cardchecker
            Connections {
                target: model
                onEtatChanged: {
                    [...]
                }
            }
        }
    }

Désolé pour le dérangement :euh:

Édité par leroivi

Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison - Coluche

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte