Connections QML Type
信号への一般化された接続を記述する。詳細...
Import Statement: | import QtQml |
プロパティ
- enabled : bool
- ignoreUnknownSignals : bool
- target : QtObject
詳細説明
ConnectionsオブジェクトはQMLシグナルへの接続を生成します。
QMLでシグナルに接続する場合、"on<Signal>"ハンドラを作成し、 シグナルを受信したときに反応させるのが一般的な方法です:
MouseArea { onClicked: (mouse)=> { foo(mouse) } }
しかし、この方法ではシグナルに接続できない場合があります:
- 同じシグナルに複数の接続が必要な場合
- シグナル送信者の範囲外で接続を作成する。
- QMLで定義されていないターゲットへの接続
これらのいずれかが必要な場合、代わりにConnections型を使用することができます。
例えば、上記のコードは次のようにConnectionsオブジェクトを使用するように変更することができます:
MouseArea { Connections { function onClicked(mouse) { foo(mouse) } } }
より一般的には、Connectionsオブジェクトはシグナルの送信者以外のオブジェクトの子にすることができます:
MouseArea { id: area } // ...
Connections { target: area function onClicked(mouse) { foo(mouse) } }
注意: 後方互換性を保つために、function
を使わずに、ターゲット・オブジェクトに直接指定するようにシグナル・ハンドラを指定することもできます。これは推奨されません。この方法で1つのシグナルハンドラを指定すると、同じConnectionsオブジェクトでfunction
として指定されたすべてのシグナルハンドラは無視されます。
以下も参照してください。 Qt Qml.
プロパティ ドキュメント
enabled : bool |
このプロパティは、アイテムが変更イベントを受け入れるかどうかを保持します。
デフォルトでは、このプロパティはtrue
です。
ignoreUnknownSignals : bool |
通常、存在しないシグナルへの接続はランタイム・エラーを発生させる。
このプロパティをtrue
に設定すると、そのようなエラーは無視されます。これは、異なるタイプのオブジェクトに接続し、オブジェクトごとに異なるシグナル・セットを処理する場合に便利です。
target : QtObject |
このプロパティは、シグナルを送信するオブジェクトを保持します。
このプロパティが設定されていない場合、target
は Connection の親をデフォルトとします。
NULLに設定された場合、接続は行われず、ターゲットがNULLでなくなるまで、どのシグナルハンドラも無視されます。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.