Je travaille sur une application Qt où j'ai un QListView. Il y a peu d'éléments présents dans la liste. Mon application nécessite que les éléments soient réorganisés selon le choix de l'utilisateur. Tout fonctionne bien, mais je suis confronté à un petit problème. Lorsque je fais une sélection multiple en utilisant une souris, c'est-à-dire que je sélectionne des éléments en faisant glisser la souris, elle laisse la marque de sélection sur QlistView même après avoir fait une opération de réarrangement. Je suis sûr que cela a quelque chose à voir avec le nettoyage de la sélection. J'ai essayé d'utiliser repaint() ou clearFocus() mais rien ne semble fonctionner. Par exemple, lorsque nous sélectionnons un groupe de dossiers, nous déplaçons la souris, ce qui nous donne une boîte rectangulaire qui couvre tous les éléments qui se trouvent en dessous. Cette boîte de rectangle particulière reste dans mon QListView. Je ne le veux pas après avoir sélectionné les objets.Comment effacer la sélection de QListView lorsque plusieurs éléments sont sélectionnés?
J'ai un mouseMoveEvent à l'intérieur que je fais:
void BinListView::mouseMoveEvent (QMouseEvent *event) {
if (NULL == event) {
return;
} else {
if (Qt::LeftButton & event->buttons()) {
int nDis = (event->pos() - m_posStart).manhattanLength();
if (nDis >= QApplication::startDragDistance()) {
startDrag (m_posStart);
}
}
#ifdef QT_NO_DEBUG
QListView::mouseMoveEvent (event);
QListView::repaint();
QListView::clearFocus();
#endif
}
repaint();
}
Si vous remarquez la zone QT_NO_DEBUG, vous verrez mon objectif de compensation et de repeindre, mais rien ne me aide. Toute solution à ce problème?
P.S .: Je l'exécute en mode de libération.
Effacer la sélection ne me laisse pas sélectionner les éléments. Mon souci est lorsque je suis en train de faire glisser la souris et en sélectionnant ensemble à des éléments, il laisse la marque de sélection sur la liste. – Gojira
J'ai mal compris. Mais ne semble pas seulement moi. Peut-être que vous devriez reformuler la question. En tout cas. vérifier ces appels de méthodes, je suis sûr que je me trompe – Trompa
J'ai essayé mais ça marche. Par exemple. Lorsque nous sélectionnons un groupe de dossiers, nous faisons glisser notre souris, laquelle interne nous donne une boîte rectangulaire qui couvre tous les éléments qui se trouvent sous elle. Cette boîte de rectangle particulière reste der toujours. Comment puis-je l'effacer? – Gojira