C++ QML中的附加属性
我是否可以为所有属性(如组件)创建自己的附加属性C++ QML中的附加属性,c++,qt,qml,C++,Qt,Qml,我是否可以为所有属性(如组件)创建自己的附加属性 Item{ Component.onCompleted : {} // Component is attached to everyone Items } 您可能无法将特性附着到未创建的项目或组件。但你为什么要这么做呢 相反,您可以考虑使用信号和全局属性。 对于可以从任何位置访问的全局属性,可以设置声明性视图的根上下文的上下文属性 i、 e 现在,在QML文件中,您可以访问该类的属性 Rectangle { Text {
Item{
Component.onCompleted : {} // Component is attached to everyone Items
}
您可能无法将特性附着到未创建的项目或组件。但你为什么要这么做呢
相反,您可以考虑使用信号和全局属性。
对于可以从任何位置访问的全局属性,可以设置声明性视图的根上下文的上下文属性 i、 e 现在,在QML文件中,您可以访问该类的属性Rectangle {
Text {
text: MyPropClass.getMyPropText()
}
MouseArea {
onClicked: { MyPropClass.text = "Clicked" }
}
}
这将从MyPropertyClass调用Q_可调用方法getMyPropText()。当发出某些信号时,可以设置Q_属性“text”
这是否适合您的需要?是的,请参见:是的,使用此选项,我可以将属性附加到自己的对象,但我需要的是从标准对象(如图像、项目或矩形)调用这些属性,也需要:
Rectangle {
Text {
text: MyPropClass.getMyPropText()
}
MouseArea {
onClicked: { MyPropClass.text = "Clicked" }
}
}