Qt ++多个鼠标事件的不同顺序

qt c++ multiple mouse events different order

本文关键字:顺序 事件 鼠标 Qt      更新时间:2023-10-16

目前我必须在c++中编写一些鼠标事件。我知道有鼠标事件用于按压,释放,移动,双击。

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

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

如何区分第一个和第二个鼠标移动事件?

我通过使用在运行鼠标单击事件时设置为true的标志"鼠标单击标志"来解决这个问题。在mouse-move例程中,我有一个if语句检查(Mouse-click-flag== true),它决定是否运行mouse- click-event例程。

如何解决这个问题?

谢谢

itelly

你做的是对的。您还希望在鼠标释放事件中将mouse -click-flag设置为false,但您可能已经发现了这一点,只是没有说出来。您提到在第一次移动时运行鼠标单击事件例程。你没有在mousePressEvent例程中运行它有什么原因吗?有时候……是有很好的理由的。我只是想确认一下那是你需要的。

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