【问题标题】:Mouse events in QtQt 中的鼠标事件
【发布时间】:2013-09-01 15:14:53
【问题描述】:

我有 3 个事件定义如下:

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

现在,假设我想在单击并移动鼠标直到释放鼠标时执行某些操作。 例如给出输出!,直到上面描述的条件为真。

编辑:我试图设置一个全局变量,比如说bool a,并在mousePressEvent(...) 中设置true,在mouseReleaseEvent(...) 中设置false,但是在mouseMoveEvent(...) 中时,a 始终为@ 987654330@,即使松开按钮。

【问题讨论】:

  • 我不完全了解你的目标,但是mouseMoveEvent 中的QMouseEvent::buttons 不够吗?
  • 我在 QMouseEvent::buttons 中有 ...::buttons,在其他人中有 ...::button,但它没有帮助。

标签: c++ qt mouseevent mousemove mouseclick-event


【解决方案1】:

这与以下代码完全相同:

Tracking mouse coordinates in Qt

但没有setMouseTracking(true)。使用setMouseTracking(false)(默认),void mouseMoveEvent(QMouseEvent *event) 方法仅在按下鼠标按钮时被调用。

您的要求不需要mousePressEvent(QMouseEvent *eventPress) 或mouseReleaseEvent(QMouseEvent *releaseEvent)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多