c – QML中的附加属性

我可以像Component一样为所有属性创建自己的附件吗?

Item{
    Component.onCompleted : {} // Component is attached to everyone Items
}

解决方法

您可能无法将属性附加到未创建的项目或组件.但是你为什么要这么做呢?

相反,您可以考虑使用信号和全局属性.

对于可以从任何位置访问的全局属性,可以设置声明性视图的根上下文的上下文属性.

即,

QmlApplicationViewer viewer;
MyPropertyClass myProp;
viewer->rootContext()->setContextProperty("MyPropClass",&myProp);

现在,在您的QML文件中,您可以访问此类的属性

Rectangle {
    Text {
        text: MyPropClass.getMyPropText()
    }
    MouseArea {
        onClicked: { MyPropClass.text = "Clicked" }
    }
}

这将从MyPropertyClass调用Q_INVOKABLE方法getMyPropText().和Q_PROPERTY’文本’可以在发出一些信号时设置.

这适合你需要吗?

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...