【发布时间】:2012-03-16 04:08:34
【问题描述】:
我正在使用 Qt 制作一个简单的游戏,并且我想在用户切换到其他窗口时暂停游戏(这可能是通过最小化它或意外单击它旁边的窗口等)。我的游戏包含在 QMainWindow 中,所以我希望能够检测到它何时失去焦点。
我为此尝试了几种不同的方法,但都没有成功。我第一次尝试重载 QMainWindow 的 focusOutEvent,但是这个方法只有在我第一次用 setFocus 给窗口焦点时才调用。我还尝试重载窗口的 event(QEvent *) 方法来检查 QEvent::ApplicationActive 和 QEvent::ApplicationDeactivate。
我会发布我的 QMainWindow 的代码,但没有什么可显示的,我实际上只是尝试实现这两种方法,但都没有被调用。我没有做任何其他设置来设置这些方法(也许我错过了一个步骤?)。
有谁知道确定您的 QMainWindow 是否“失去焦点”的好方法?
【问题讨论】: