Connections
ImportStatement: import QtQml 2.2
Properties
ignoreUnknownSignals: bool
target : Object
DetailedDescription
这个组件创建一个到QML信号的连接。当我们连接QML信号时,一般使用on<Signal>句柄来进行信号处理,像下面这样:
MouseArea {
onClicked: { foo(parameters) }
}
然而在一些情况下,我们不能使用这种方式连接信号:
1、一个信号连接到多个处理
2、在信号发送者之外创建处理
3、连接的目标没有在QML中定义
当上面任何一个功能被需要时,就是Connections大展身手的时候。
上面鼠标的连接等同于下面的代码:
MouseArea {
Connections {
onClicked: foo(parameters)
}
}
更普遍的情况是我们在信号发射者之外连接该信号。如下例:
MouseArea {
id: area
}
// ...
Connections{
target: area
onClicked: foo(parameters)
}
PropertyDocumentation
ignoreUnknownSignals: bool
通常连接到不存在的信号会产生运行错误。如果这个属性设置为真,那么错误将被忽略。当我们连接到不同的对象,每个对象处理一组不同的信号时,有的对象没有A信号,有的对象没有B信号,当我们忽略不存在的信号,程序就能正常工作。
target :Object
发送信号的对象。如果没有设置,默认目标是父。如果设置为空,在它变得不为空之前,没有连接会被建立,也没有信号会被处理。