Connections QML Type

信号への一般化された接続を記述する。詳細...

Import Statement: import QtQml

プロパティ

詳細説明

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.