14

QtイベントシステムQEventクラスに関するドキュメントだけです。QObject::event()メソッドの動作に興味があります。ドキュメントには次のように記載されています。

この仮想関数はオブジェクトへのイベントを受け取り、イベントeが認識されて処理された場合はtrueを返す必要があります。

メソッドfalseから返されるときに期待される動作は何ですか?event()イベントを処理するために他に何が試みられますか?イベントは自動的に親オブジェクトに転送されますか?

:ソースが利用可能であることはわかっていますが、コピーはあります。私は理想的には、この動作に対処するドキュメントを探しています。

4

2 に答える 2

7

return QObject::event(event);イベント関数はイベントを特定のハンドラー(eg)に委任するため、そのイベントタイプ(eg)をフィルター処理したくない場合は、イベントをベースクラスのイベントメソッドに明示的に転送するのがベストプラクティスだと思いますQWidget::keyPressEvent

QCoreApplication :: notifyは、戻り値に基づいてイベントを伝播します。で、イベントが消費されたと見なしtrueて停止します。それ以外の場合、イベントはオブジェクトの親に渡されます。詳細については、「イベントとフィルター」および「イベントの別の外観」を参照してください。

于 2011-05-09T20:07:50.783 に答える
0

一部のイベントは伝播できます。イベントはその親に伝播され、処理されるまでその親に再帰的に伝播されます。これを見てください:https ://doc.qt.io/archives/qq/qq11-events.html

于 2020-04-01T09:08:53.140 に答える