mousePressEvent в документации Qt:
Реализация по умолчанию зависит от состояния сцены.Если есть элемент захвата мыши, то событие отправляется захватчику мыши.В противном случае он перенаправляется на самый верхний видимый элемент, который принимает события мыши в позиции сцены от события, и этот элемент быстро становится элементом захвата мыши.
Так что если вы переопределите его, как вы это сделалив вашем коде событие больше не отправляется захвату мыши (вашей кнопке), но при двойном щелчке это событие не перехватывается mousePressEvent (но обычно mouseDoubleClickEvent), и кнопка активируется только одна, потому что первое нажатие мышиигнорируется, чтобы определить, является ли это простым щелчком или двойным щелчком.
надеюсь, это поможет вам.
Обновление: чтобы решить вашу проблему, просто измените mouseMoveEvent на:
void mousePressEvent(QGraphicsSceneMouseEvent* event){
qDebug()<<event->scenePos();
QGraphicsScene::mousePressEvent(event);
}
Но я советую вам создать подкласс QGraphicsView и перегружать его метод mousePressEvent.
Надеюсь, это вам поможет.