マウスカーソルが特定のウィジェット上にあるときにポップアップウィンドウを表示しています。マウスがウィジェットを離れるときにこのポップアップを非表示にしたいと思います。私のアプリケーションがQtでフォーカスを失ったことを検出するには?
これを行うには、leaveEvent()
を再実装しました。これは、Alt+Tab
で別のアプリケーションに切り替える場合を除いて、すべてのケースで機能するようです。私はおそらく別のイベントをキャッチする必要があることを理解しましたが、何とか私は適切なイベントを見つけることができません。あなたは1つを提案できますか?
ありがとうございます。あなたの提案に触発され、私はeventFilterのQEvent :: LeaveイベントとQEvent :: WindowDeactivateイベントの両方を捕捉し、これらのいずれかでポップアップを非表示にするだけで十分であることがわかりました。 – Michal