1

I have 3 events defined as follows:

void mouseMoveEvent(QMouseEvent *eventMove);
void mousePressEvent(QMouseEvent *eventPress);
void mouseReleaseEvent(QMouseEvent *releaseEvent);

Now, let's say I want to do something when the mouse is clicked and moved until the mouse is released. e.g. Give an output ! until the conditions described upper are true.

EDIT: I have tried to set a global variable let's say bool a and make it true in mousePressEvent(...), false in mouseReleaseEvent(...), but when in mouseMoveEvent(...) the a is always true, even when button is released.

Mike
  • 563
  • 5
  • 15
  • 32
  • 1
    I don't understand your goals completely, but wouldn't `QMouseEvent::buttons` in `mouseMoveEvent` is enough? – fasked Sep 01 '13 at 16:39
  • I have ...::buttons in QMouseEvent::buttons, and ...::button in others, but it doesn't help. – Mike Sep 01 '13 at 17:03

1 Answers1

1

This is exactly the same code as in:

Tracking mouse coordinates in Qt

But without the setMouseTracking(true). With setMouseTracking(false) (the default) the void mouseMoveEvent(QMouseEvent *event) method is only called, when a mousebutton is pressed.

No mousePressEvent(QMouseEvent *eventPress) or mouseReleaseEvent(QMouseEvent *releaseEvent) needed for your requirements.

Community
  • 1
  • 1
Greenflow
  • 3,935
  • 2
  • 17
  • 28