mouse move and mouse release events don't respond
Unsolved
General and Desktop
-
Hello, QT! I am a begginer in QT and I wanted to drag the scene with mouse move event, but i faced some troubles. I don't really understand, what should I do.
Part of .cpp code
void Widget::mousePressEvent(QMouseEvent* event) { if (event->button() == Qt::MiddleButton) { QApplication::setOverrideCursor(Qt::SizeAllCursor); midMousePressed = true; m_originX = event->x(); m_originY = event->y(); event->accept(); return; } } void Widget::mouseReleaseEvent(QMouseEvent *event){ if (event->button() == Qt::MiddleButton) { midMousePressed = false; QApplication::restoreOverrideCursor(); event->accept(); return; } event->ignore(); } void Widget::mouseMoveEvent(QMouseEvent* event) { if (midMousePressed == true) { QPointF oldp = ui->graphicsView->mapToScene(m_originX, m_originY); QPointF newp = ui->graphicsView->mapToScene(event->pos()); QPointF translation = newp - oldp; ui->graphicsView->translate(translation.x(), translation.y()); m_originX = event->x(); m_originY = event->y(); event->accept(); return; } event->ignore(); }
Working in QT 5.15.2