我正在用Qt做一個簡單的遊戲,我想在用戶切換到不同的窗口時暫停遊戲(這可以通過最小化它或通過不小心點擊它旁邊的窗口等)。我的遊戲被包裝在一個QMainWindow中,所以我希望能夠檢測到什麼時候失去焦點。QMainWindow不再活動窗口
我已經嘗試了幾種不同的方法,但我沒有成功。我首先嚐試重載QMainWindow的focusOutEvent,但是這種方法只有在我第一次使用setFocus給出窗口焦點時才被調用。我也嘗試重載窗口的事件(QEvent *)方法來檢查QEvent :: ApplicationActive和QEvent :: ApplicationDeactivate。
我會發布我的QMainWindow的代碼,但沒有太多要顯示,我從字面上試圖實現這兩種方法,但都沒有被調用。我沒有別的辦法來設置這些方法(也許我錯過了一個步驟?)。
有誰知道一個好方法來確定您的QMainWindow是否有「失去焦點」?