我正在编写 Qt 应用程序,当鼠标移到屏幕中的某个区域时播放淡入动画,当鼠标移出同一区域时播放淡出动画。
我已经在 stack overflow 中找到了类似的问题,但是,它并没有完全回答我的问题。 ( similar question here )
如果我为应用程序安装事件过滤器,我是否能够看到应用程序中的所有事件,即使它在我的小部件窗口之外?
如果不是,我知道在 leaveEvent() 的重新实现中涉及 QWidget::grabMouse() 的替代方法。但是如果我这样做,我是否能够与我的应用程序之外的任何东西进行交互?
编辑:虽然我使用的是 Qt 库,但我的应用程序仅用于部署到 Windows。
最佳答案
我相当肯定答案是否定的,因为小部件之外的事件由操作系统窗口管理器处理(并传播到该空间中的任何应用程序)。
但是您可以通过调用 QCursor::pos()
获取鼠标在屏幕上任何位置的位置,您可以定期轮询以找出鼠标的位置。
关于c++ - 我如何在我的窗口小部件窗口外接收或处理 mouseMoveEvent(s)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8520183/