You can use a boolean value:
void mousePressEvent(QMouseEvent *event) { if (event->button()==Qt::RightButton){ qDebug() << "right button is pressed pressed=true; //<----- } }
and on mouseMoveEvent
void GLWidget::mouseMoveEvent(QMouseEvent *event) { float dx = event->x() - lastPos.x(); // where lastpos is a QPoint member float dy = event->y() - lastPos.y(); if (dx<0) dx=-dx; if (dy<0) dy=-dy; if (event->buttons() & Qt::LeftButton) { //if you have MOVEd ...do something } if (event->buttons() & Qt::RightButton) { if (pressed==true) return; else{ ...do } } }
On mouserelease you should set pressed = false; ("pressed" must be a member of the class)
Hope this helps let me know
source share