将某些内容绑定到使用qmlRegisterSingletonType注册的类型的属性

时间:2017-06-27 22:16:21

标签: qt qml

是否可以将某些内容绑定到注册为singleton类型的属性?我找不到正确的语法来执行类似

的操作
Item {
  id: rootItem
  MySingleton.anProperty: rootItem.width
}

(上述结果为:“不存在的附加对象”)

MySingleton注册通过

注册
int qmlRegisterSingletonType(const char *uri, int versionMajor, int 
versionMinor, const char *typeName, QObject *(* ) ( QQmlEngine *, QJSEngine 
* ) callback)

1 个答案:

答案 0 :(得分:1)

MySingleton范围内没有Item对象或组属性,您无法使用此语法绑定外部对象的属性。

可以通过Binding元素:

Binding {
    target: MySingleton
    property: 'anProperty'
    value: rootItem.width
}

由于你的标题和问题含糊不清,也许你真正想做的事情就像:

Item {
  id: rootItem
  width: MySingleton.anProperty
}