Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QML中的附加属性_C++_Qt_Qml - Fatal编程技术网

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" }
    }
}