Я работаю над Qt-приложением, где у меня есть QListView. В списке есть несколько элементов. Мое приложение требует, чтобы элементы были перегруппированы в соответствии с выбором пользователя. Все работает нормально, но я столкнулся с небольшой проблемой.Как очистить выбор QListView при выборе нескольких элементов?
Когда я делаю множественный выбор с помощью мыши, то есть выбираю элементы, перетаскивая мышь, он оставляет отметку выбора в QlistView даже после того, как я выполняю некоторую операцию перестановки. Я уверен, что это как-то связано с расчисткой выбора. Я попытался использовать repaint() или clearFocus(), но ничего не работает.
E.g Когда мы выбираем группу папок, мы перетаскиваем мышь, которая ставит нам прямоугольную коробку, которая покрывает все предметы, которые подпадают под нее. Этот прямоугольник прямоугольника остается внутри моего QListView. Я не хочу, чтобы после выбора элементов.
У меня есть mousemoveevent, внутри которой я делаю это:
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();
}
Если вы заметили QT_NO_DEBUG области, вы увидите мой клиринговый фокус и перекрашивать, но ничего не помогает мне. Любое решение этой проблемы?
P.S .: Я запускаю его в режиме освобождения.
Clear выбора не позволит мне выбрать элементы. Моя забота - когда я перетаскиваю мышь и выбираю набор для элементов, она оставляет отметку выбора в представлении списка. – Gojira
Я понял неправильно. Но кажется не только я. Может быть, вы должны переформулировать вопрос. В любом случае. проверьте эти вызовы методов, я уверен, что ошибаюсь – Trompa
Я пробовал, но это делает работу. Например. Когда мы выбираем группу папок, мы перетаскиваем мышь, которую стажер дает нам прямоугольную коробку, которая покрывает все предметы, которые попадают под нее. Этот прямоугольник всегда остается неизменным. Как я могу его очистить? – Gojira