J'ai un QListView
qui contient quelques articles. Maintenant, je veux obtenir l'index de l'élément sélectionné, c'est-à-dire si je sélectionne le 5ème élément, je devrais en obtenir 5. Comment puis-je l'obtenir?Comment obtenir l'index de liste sélectionné dans Qt
11
A
Répondre
16
Dans toutes les vues dans Qt, vous avez la méthode suivante:
QItemSelectionModel * QAbstractItemView :: selectionModel() const
Fondamentalement, il retourne un modèle sur lequel vous pouvez effectuer des actions, comme obtenir des indices sélectionnés ...
Jetez un oeil ici: QItemSelectionModel
vous trouverez beaucoup de méthodes pour vous aider à obtenir votre index (es).
J'espère que ça aide!
0
Il n'y a pas de moyen facile de le faire, car QListView peut gérer des structures arborescentes. Vous pouvez faire en sorte que vos éléments de liste dérivent de QListViewItem et ajouter un membre de données supplémentaire pour contenir un index. Vous devez réinitialiser les index lors du tri bien sûr.
Andy je l'ai eu, mais je trouvé selectedIndexes(), mais les index sélectionnés donneront la liste, nous devons itérer pour obtenir la modelindex. Mais je voulais une API qui donne l'élément modelindex élément en un coup .. itérer la liste prend du temps à droite .. est-il de toute façon directe, ou nous devons faire comme cela seulement – Naruto
Oui, vous avez currentIndex () qui vous donnera l'index actuel dans votre sélection ... Je ne sais pas si vous connaissez la différence entre les éléments sélectionnés et l'index actuel ... L'index actuel est un peu le dernier index que vous avez sélectionné ... Donc je pense qu'il sera ce que vous cherchez ... –
Oui, cela fonctionne grâce – Naruto