微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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’文本’可以在发出一些信号时设置.

这适合你需要吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐