Sub*_*iro 1 c++ mouse events qt
我正在编写 Qt 应用程序,它在鼠标移动到屏幕上的某个区域时播放淡入动画,每当鼠标移出同一区域时播放淡出动画。
我已经在堆栈溢出中找到了一个类似的问题,但是,它并不能完全回答我的问题。(类似的问题在这里)
如果我为应用程序安装了事件过滤器,我是否能够看到应用程序中的所有事件,即使它在我的小部件窗口之外?
如果没有,我知道在 leaveEvent() 的重新实现中涉及 QWidget::grabMouse() 的替代方法。但是,如果我这样做,我是否能够与应用程序之外的任何内容进行交互?
编辑:虽然我使用的是 Qt 库,但我的应用程序仅用于部署到 Windows。
我相当肯定答案是否定的,因为小部件之外的事件由操作系统窗口管理器处理(并传播到该空间中的任何应用程序)。
但是,您可以通过调用在屏幕上的任何位置获取鼠标位置QCursor::pos(),您可以定期轮询以找出鼠标所在的位置。