IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Quick Discussion :

[ListView] Modifier le State de tous les items


Sujet :

Qt Quick

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Points : 25
    Points
    25
    Par défaut [ListView] Modifier le State de tous les items
    Bonjour,
    j'utilise un QAbstracListModel dérivé pour envoyer des données à un listview qml. J'utilise deux états (State) pour personnaliser les items de la listview: lorsque je clique sur un item, sa propriété state change et donc la présentation de l'item change. Lorsque je clique à nouveau sur le même item il reprend son état d'origine.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    delegateItemVente.state == 'modifItemVentes' ? delegateItemVente.state = "normal" : delegateItemVente.state = 'modifItemVentes';
    Ce que je n'arrive pas à faire: lorsque je clique sur un item avec state "normal" je voudrais que tous les autres items passent en state "normal" et celui cliqué en state "modifItemVentes".
    En gros je ne sais pas comment modifier la propriété state d'un item en particulier dans un listview.
    Merci

  2. #2
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Points : 5 545
    Points
    5 545
    Par défaut
    Bonjour,

    Je vous conseillerais plutôt de définir l'état "modifItemVentes" au niveau d'au-dessus, donc non pas au niveau de l'élément mais au niveau du parent.
    De là, les items feraient un state avec un when sur l'état du ListView.

    Bonne soirée,
    Louis
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Points : 25
    Points
    25
    Par défaut
    Bonsoir,
    merci Amnell pour votre réponse. J'avais bien essayé le "when" dans la définition du State mais en fait il y avait un oubli de ma part, dans la condition j'avais mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    when: listeVentes.currentIndex=index
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    when: listeVentes.currentIndex==index
    Le double égale, erreur de débutant en qml.

    Dans le MouseArea de l'item il suffit de mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     onClicked  {
       delegateItemVente.state == '' ? delegateItemVente.state = "modifItemVentes" : delegateItemVente.state = '';
       listeVentes.currentIndex=index
      }
    La définition de l'état se fait bien au niveau de l'élément delegateItemVente.
    Tout fonctionne à présent. Merci pour l'aide...

    Sébastien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer tous les items d'une ListView ou d'un Adapter
    Par rolandl dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 21/12/2012, 12h33
  2. Réponses: 3
    Dernier message: 01/08/2007, 22h50
  3. Selectionner tous les items d´une liste lors du submit
    Par makohsarah dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/07/2007, 12h50
  4. Réponses: 2
    Dernier message: 31/08/2006, 11h20
  5. changer le texte de tous les Items dans un mainmenu
    Par C.M dans le forum Composants VCL
    Réponses: 7
    Dernier message: 25/07/2004, 13h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo