Qt MouseMoveEvent仅在按下鼠标按钮时触发

Yat*_*yte 9 c++ mouse qt mouseevent mousemove

我这里有一个奇怪的问题.

我正在开发一个应用程序,在我的一个类中,我正在监视我的鼠标事件.

奇怪的是,如果按下任何鼠标按钮,我的鼠标移动事件将被调用.

我甚至没有过滤方法中的任何按钮按下; 除非我点击这个对象本身(正在监视它的对象),否则该方法本身甚至不会被调用.

通常会导致此类错误发生的原因是什么?

我不确定它是否相关,但我有两个不同的东西监视我的鼠标输入:1)主程序监视全局鼠标坐标,2)我的程序中的一个对象监视自身内的鼠标坐标.

编辑 所以问题必须是因为当人们沿着屏幕向右拖动光标时,通常会使用鼠标移动事件?我不需要它的原因是因为我正在构建各种自定义上下文菜单,我需要知道项目何时悬停.

Yat*_*yte 14

事实证明,我没有真正设置我班级中的所有内容来启用鼠标跟踪.我不知何故认为如果类本身被设置为启用它,我不需要将它设置为所有子对象,但现在我看到它根本没有任何意义.

所以只是为了澄清我的解决方案:我需要跟踪光标位置所需的项目

setMouseTracking(true);
Run Code Online (Sandbox Code Playgroud)