C

连接 QML 类型

启用将 QML 信号连接到处理程序。 更多...

导入语句import QtQuick
Qt Quick Ultralite 1.0

属性

详细描述

Connections 对象将 QML 信号连接到处理程序。

通常,QML 信号连接到一个 "on" 处理程序,该处理程序在触发信号时作出响应。例如,以下示例中

MouseArea {
   onClicked: { foo(parameters) }
}

然而,在以下情况下无法使用 on 处理程序

  • 向同一信号添加多个连接
  • 在信号发送者作用域之外创建连接
  • 连接到在 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) }
}

注意:为了保持向后兼容性,您还可以像直接在目标对象中指定一样指定信号处理程序,不使用函数。这不被推荐。如果以这种方式指定一个信号处理程序,则同一 Connections 对象中指定为函数的所有其他信号处理程序都将被忽略。

属性文档

target : Object

该属性包含发送信号的对象。

它必须设置为目标的 id 或单例对象。


在某些.Qt 许可下提供。
了解更多。