我可以像Component一样为所有属性创建自己的附件吗?
Item{ Component.onCompleted : {} // Component is attached to everyone Items }
解决方法
您可能无法将属性附加到未创建的项目或组件.但是你为什么要这么做呢?
相反,您可以考虑使用信号和全局属性.
对于可以从任何位置访问的全局属性,可以设置声明性视图的根上下文的上下文属性.
即,
QmlApplicationViewer viewer; MyPropertyClass myProp; viewer->rootContext()->setContextProperty("MyPropClass",&myProp);
Rectangle { Text { text: MyPropClass.getMyPropText() } MouseArea { onClicked: { MyPropClass.text = "Clicked" } } }
这将从MyPropertyClass调用Q_INVOKABLE方法getMyPropText().和Q_PROPERTY’文本’可以在发出一些信号时设置.
这适合你需要吗?