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 でなくなるまで、シグナルハンドラはすべて無視されます。
© 2026 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.