特定のキーストローク (Tab
この例のキーとしましょう) を常に特定のQWidget
. 次のような階層があるとしましょう。
QWidget (top level window)
¬ QWidget X (the widget that should handle all Tab presses)
¬ QWidget (inner widget)
¬ ...
¬ ...
¬ QLineEdit (very deep into the hierarchy)
にQLineEdit
現在フォーカスがあり、テキストを入力できます。ユーザーが を押したときに、(階層の最上部近くで)Tab
によって処理され、何らかのアクションが実行されるようにします。現在のウィンドウ内の何かにフォーカスがある場合QWidget X
、特定の QWidget がキーを押すたびにインターセプトするようにするにはどうすればよいですか?Tab
すべての子にイベント フィルターをインストールするQWidget
ことは、アプリケーションが膨大で変更される可能性があるため、現実的ではありません。