2013-09-01 2 views
0

У меня есть 3 события, определенные следующим образом:События мыши в Qt

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

Теперь, скажем, я хочу сделать что-то, когда мышь нажата и перемещается, пока мышь не будет отпущена. , например. Дайте выход !, пока не будут указаны условия, описанные выше.

EDIT: Я пытался установить глобальную переменную, скажем bool a и сделать его true в mousePressEvent(...), false в mouseReleaseEvent(...), но когда в mouseMoveEvent(...)a всегда true, даже когда кнопка отпущена.

+1

Я не понимаю ваши цели целиком, но разве 'QMouseEvent :: buttons' в' mouseMoveEvent' недостаточно? – fasked

+0

У меня есть ... :: кнопки в QMouseEvent :: buttons и ... :: кнопки в других, но это не помогает. – Mike

ответ

1

Это точно такой же код, как и в:

Tracking mouse coordinates in Qt

Но без setMouseTracking(true). С setMouseTracking(false) (по умолчанию) метод void mouseMoveEvent(QMouseEvent *event) вызывается только при нажатии кнопки мыши.

No mousePressEvent(QMouseEvent *eventPress) или mouseReleaseEvent(QMouseEvent *releaseEvent), необходимые для ваших требований.

 Смежные вопросы

  • Нет связанных вопросов^_^