我正在用Qt做一个简单的游戏,我想在用户切换到不同的窗口时暂停游戏(这可以通过最小化它或通过不小心点击它旁边的窗口等)。我的游戏被包装在一个QMainWindow中,所以我希望能够检测到什么时候失去焦点。QMainWindow不再活动窗口
我已经尝试了几种不同的方法,但我没有成功。我首先尝试重载QMainWindow的focusOutEvent,但是这种方法只有在我第一次使用setFocus给出窗口焦点时才被调用。我也尝试重载窗口的事件(QEvent *)方法来检查QEvent :: ApplicationActive和QEvent :: ApplicationDeactivate。
我会发布我的QMainWindow的代码,但没有太多要显示,我从字面上试图实现这两种方法,但都没有被调用。我没有别的办法来设置这些方法(也许我错过了一个步骤?)。
有谁知道一个好方法来确定您的QMainWindow是否有“失去焦点”?