【问题标题】:qt c++ multiple mouse events different orderqt c++多个鼠标事件不同的顺序
【发布时间】:2017-03-25 18:22:19
【问题描述】:

目前我必须用 C++ 编写一些鼠标事件。我知道有按下、释放、移动、双击的鼠标事件。

我想知道的是,当事件以不同的顺序使用时如何区分它们。假设我愿意:

鼠标移动 -> 鼠标点击 -> 鼠标移动 -> 鼠标释放

如何区分第一个和第二个 Mouse-move 事件?

我通过在运行鼠标点击事件时使用设置为真的标志“鼠标点击标志”解决了这个问题。在 mouse-move 例程中,我有一个 if 语句检查 (Mouse-click-flag== true),它决定天气或不运行鼠标点击事件例程。这可行,但看起来很复杂。

如何解决这个问题?

谢谢

特意

【问题讨论】:

标签: c++ qt mouseevent


【解决方案1】:

你所做的是正确的。您还想在鼠标释放事件中将 Mouse-click-flag 设置为 false,但您可能已经想通了,只是没有说出来。您提到在第一步运行鼠标单击事件例程。您是否有理由不在 mousePressEvent 例程中运行它?有时有充分的理由......只是确认这是你需要的。

如果您只关心用户按下鼠标时的鼠标移动事件,那么正如 thuga 所说,通过在小部件上调用“setMouseTracking”并将其设置为 false 来关闭鼠标跟踪。然后,您将只会获得点击-移动-释放模式。

【讨论】:

    猜你喜欢
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多