Question

Dans ma forme, j'ai un QListWidget qui contient QListWidgetItems checkable. Je suis à la recherche d'un moyen de capturer l'événement d'un être QListWidgetItem cochée / décochée. Je ne vois pas un tel signal existant pour cela, mais peut-être que je me trompe. Ce que je suis en train de faire est en utilisant le signal de QListWidget::itemClicked() et vérifier la checkState du QListWidgetItem, mais ce n'est pas ce que je veux parce que cet événement se produit chaque fois que l'élément est cliqué, non seulement Je suis allé la coche est activé ou désactivé. Quelqu'un peut-il apporter une aide? Merci!

Était-ce utile?

La solution

Apparemment pas un tel signal est fourni, votre meilleur pari est d'utiliser QListWidget::itemChanged(QListWidgetItem* item) et analyser le résultat item->checkState() . Cela devrait être une légère amélioration par rapport à l'aide itemClicked

Autres conseils

Une option supplémentaire est d'utiliser votre propre QAbstractListModel avec un QListView. Au début, cela n'ajoute un code supplémentaire que vous devez ajouter votre propre code de gestion. Mais vous obtenez un accès de niveau inférieur. Fondamentalement parce que le QListView demandera votre modèle ce qu'il faut faire. Il relaiera également de retour d'entrée à votre ListModel où vous pouvez brancher en elle.

Sinon, vous pouvez sous-classe QStandardItemModel et prendre certaines modifications liées à l'évolution de la case à cocher.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top