我定义了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)

10-04 15:06