У меня есть 3 события, определенные следующим образом:
void mouseMoveEvent(QMouseEvent *eventMove);
void mousePressEvent(QMouseEvent *eventPress);
void mouseReleaseEvent(QMouseEvent *releaseEvent);
Теперь, скажем, я хочу сделать что-то, когда мышь щелкают и перемещают, пока мышь не отпущена.
например Дай вывод !
пока условия, описанные выше, не будут выполнены.
РЕДАКТИРОВАТЬ: я попытался установить глобальную переменную, скажем, bool a
и сделать это true
в mousePressEvent(...)
, false
в mouseReleaseEvent(...)
, но когда в mouseMoveEvent(...)
a
всегда true
, даже когда кнопка отпущена.
Это точно такой же код, как в:
Отслеживание координат мыши в Qt
Но без setMouseTracking(true)
, С setMouseTracking(false)
(по умолчанию) void mouseMoveEvent(QMouseEvent *event)
Метод вызывается только при нажатии кнопки мыши.
нет mousePressEvent(QMouseEvent *eventPress)
или же mouseReleaseEvent(QMouseEvent *releaseEvent)
необходимо для ваших требований.
Других решений пока нет …