我定义了3个事件,如下所示:
void mouseMoveEvent(QMouseEvent *eventMove);
void mousePressEvent(QMouseEvent *eventPress);
void mouseReleaseEvent(QMouseEvent *releaseEvent);
现在,假设我想在单击并移动鼠标直到放开鼠标时做一些事情。
例如给出输出
!
,直到满足上述条件为止。编辑:我试图设置一个全局变量,比如说
bool a
,并使其在true
中为mousePressEvent(...)
,在false
中为mouseReleaseEvent(...)
,但是在mouseMoveEvent(...)
中时,即使释放按钮,a
始终为true
。 最佳答案
这与以下代码完全相同:
Tracking mouse coordinates in Qt
但是没有setMouseTracking(true)
。对于setMouseTracking(false)
(默认设置),只有在按下鼠标按钮时才调用void mouseMoveEvent(QMouseEvent *event)
方法。
您的需求不需要mousePressEvent(QMouseEvent *eventPress)
或mouseReleaseEvent(QMouseEvent *releaseEvent)
。