このページでは

C

Connections QML Type

QMLシグナルをハンドラに接続できるようにします。詳細...

Import Statement: import QtQuick
Since: Qt Quick Ultralite 1.0

プロパティ

詳細な説明

Connections オブジェクトは、QML シグナルをハンドラに接続します。

通常、QMLのシグナルは、シグナルがトリガーされるたびに反応する「on<Signal>」ハンドラに接続されます。以下の例のように:

MouseArea {
   onClicked: { foo(parameters) }
}

ただし、以下の場合にはon<Signal> ハンドラを使用することはできません:

  • 同じシグナルに複数の接続を追加する場合
  • シグナル送信元のスコープ外で接続を作成する場合
  • QMLで定義されていないターゲットへの接続

これらのいずれの場合も、代わりにConnections型を使用してください。

たとえば、前述の例を次のように変更して、Connections オブジェクトを使用することができます。

MouseArea {
    id: mouseArea
    Connections {
        target: mouseArea
        function onClicked(mouse: MouseEvent) { foo(mouse) }
    }
}

一般的に、Connections オブジェクトは、シグナルの送信元以外のオブジェクトの子として配置することができます:

MouseArea {
    id: area
}
// ...
Connections {
    target: area
    function onClicked(mouse: MouseEvent) { foo(mouse) }
}

注:下位互換性を確保するため 、ターゲットオブジェクトに直接指定する場合と同様に、関数なしでシグナルハンドラを指定することも可能です。ただし、この方法は推奨されません。この方法で 1 つのシグナルハンドラを指定すると、同じ Connections オブジェクト内で関数として指定されたすべてのシグナルハンドラが無視されます。

プロパティのドキュメント

target : Object

このプロパティには、シグナルを送信するオブジェクトが格納されます。

これは、ターゲットのid 、またはシングルトンオブジェクトに設定する必要があります。

特定の Qt ライセンスの下で利用可能です。
詳細はこちらをご覧ください。