2010-04-01 4 views
0

Je veux juste clarifier, météo la fonctionnalité est présente ou non dans Qt. Le scénario est comme ceci,cliquez sur la fonctionnalité dans Qt

J'ai une vue de liste avec des articles, je veux placer l'icône à la liste lorsque l'article est sélectionné.

La sélection que je veux dire est, la première fois que je clique sur l'élément devrait être sélectionné, la prochaine fois si je clique sur le même élément, il devrait afficher une icône. S'il vous plaît noter Ce n'est pas le double-clic. encore une fois si sélectionner un autre élément la même fonctionnalité devrait continuer

Y at-il une fonctionnalité qui gère cette fonctionnalité par défaut, toute propriété ou indicateur que j'ai besoin de configurer pour que listview se comporte comme ceci ou l'implémentation manuelle Est nécessaire pour cela .

Répondre

0

Aucun problème (: Maintenant, je comprends ce que vous voulez dire ... Donc si vous cliquez sur un élément, il doit être sélectionné (par exemple surligné en bleu) puis lorsque vous cliquez à nouveau sur cet élément, une icône devrait s'afficher .

Je ne peux pas penser à une façon regualar de le faire, il n'y a pas le drapeau ou quelque chose.

la meilleure façon que je peux penser serait de stocker l'index dans un QList lorsque vous le sélectionnez Et quand vous le désélectionnez, vous supprimez l'index de la liste, de sorte que lorsque vous cliquez sur un élément, vous pouvez vérifier s'il se trouve dans cette liste et si c'est le cas, vous pouvez afficher l'icône

Une autre façon serait de créer votre propre type de QModelIndex. À chaque fois, cet index est sélectionné, vous définissez un bool comme is_already_selected sur true. Lorsque vous cliquez à nouveau sur cet élément, vous vérifiez ce bool, puis décidez si une icône doit être affichée ou non.

Pour plus d'informations, voir: QListView, QAbstractItemView::currentIndex, QModelIndex

+0

oh .. ok merci .. je pensais une méthode directe autre est là pour, mais: (... quelque manière que ce mal essayer ur technique. merci beaucoup :) – Naruto