QEvent::HoverEnter
特定のコンポーネントが、QEvent::HoverLeave
、QEvent::HoverMove
、QEvent::MouseMove
イベントに反応する Qt (4.7) Windows 7 アプリケーションがあります。メイン アプリケーション ウィンドウが表示されているがフォーカスがない場合、これらのイベントを無視したいと考えています。
たとえば、メイン アプリケーション ウィンドウと Web ブラウザ ウィンドウの 2 つのウィンドウが並んでいるとします。ブラウザ ウィンドウをマウスの左ボタンでクリックすると、ブラウザにフォーカスがあります。メイン アプリケーション ウィンドウをクリックせずにマウス ポインタを移動しても、アプリケーションが反応しないようにします。現在の動作は、アプリケーションがマウス イベントを受け取り、それに反応する (メニューを開くなど) というものです。
私のメインクラスMyApplication
はから派生しているのでQtSingleApplication
、メソッドをオーバーライドしたい
virtual bool MyApplication::notify(QObject* receiver, QEvent* event)
アプリケーションにフォーカスのあるウィンドウがない場合に特定のイベントを無視できるように、テストを追加します。Qtでこの状態を確認する方法はありますか?