我正在使用Qt制作一个简单的游戏,希望在用户切换到其他窗口时暂停游戏(可能是最小化它或者无意中点击了旁边的窗口等)。我的游戏包含在QMainWindow中,所以我想检测到窗口失去焦点的情况。
我尝试了几种不同的方法,但没有成功。我首先尝试重载QMainWindow的focusOutEvent,但这个方法只在我用setFocus第一次给窗口设置焦点时调用。我还尝试了重载窗口的event(QEvent*)方法以检查QEvent::ApplicationActive和QEvent::ApplicationDeactivate。
我想发布我的QMainWindow代码,但是没有什么可以展示的,我只是尝试实现这两种方法,但都没有被调用。我没有做任何其他设置这些方法的事情(也许我漏掉了什么步骤?)。
有人知道如何确定你的QMainWindow是否“失去焦点”吗?
我尝试了几种不同的方法,但没有成功。我首先尝试重载QMainWindow的focusOutEvent,但这个方法只在我用setFocus第一次给窗口设置焦点时调用。我还尝试了重载窗口的event(QEvent*)方法以检查QEvent::ApplicationActive和QEvent::ApplicationDeactivate。
我想发布我的QMainWindow代码,但是没有什么可以展示的,我只是尝试实现这两种方法,但都没有被调用。我没有做任何其他设置这些方法的事情(也许我漏掉了什么步骤?)。
有人知道如何确定你的QMainWindow是否“失去焦点”吗?