Подскажите пожалуйста, как сделать такое поведение QGaphicsView: ScrollHandDrag, выделение объектов по mouseDoubleClickEvent, одиночное нажатие левой кнопкой мыши не меняет состояние выделения объектов сцены (не только при последующем перемещении мыши, но и если мышь была отпущена в точке захвата)? Как сделать drag сцены понятно. Как сделать выделение по двойному нажатию - тоже вроде бы ясно... Но вот какая штука получается. Если нажать мышь и протащить по сцене - drag - то все хорошо. А если нажать мышь и отпустить в этой же точке - то сбрасываются все выделенные ранее объекты. Кто знает, можно как-то победить это?
Вроде бы все просто, но никак не получается. Воспроизводится в примере 40000 chips, если закоментировать строку:
void View::togglePointerMode()
{
graphicsView->setDragMode(selectModeButton->isChecked()
? QGraphicsView::RubberBandDrag
: QGraphicsView::ScrollHandDrag);
//graphicsView->setInteractive(selectModeButton->isChecked());
}
setInteractive(false) на нажатие мыши не повесить - тогда не приходит mouseReleaseEvent - и не вернуть interactive в true.... Может есть какая-то магия?
Спасибо!