对全局属性 QML 的无效写入

Posted

技术标签:

【中文标题】对全局属性 QML 的无效写入【英文标题】:Invalid write to global property QML 【发布时间】:2012-09-05 14:49:44 【问题描述】:

我有这个信号

class SystemUICfgScanner 

    /*code here*/
signals:
    void error(QString desc);
    /*more code*/
;

在 QML 中,我以这种方式使用 InfoBanner:

InfoBanner

    property string infodetails: ""
    id: systemuicfgErrorBanner
    text: "Error: " + infodetails
    Connections
    
        target: cfgScanner
        onError: infodetails = desc
    

当发出 error(QString) 信号时,我收到此错误

Invalid write to global property "infodetails"

我做错了什么?

提前致谢

【问题讨论】:

尝试使用onError: systemuicfgErrorBanner.infodetails = desc @aleks_misyuk,抱歉重复,我在发布答案后才注意到您的评论.. 【参考方案1】:

尝试通过 id 引用InfoBanner 实例:

InfoBanner

    property string infodetails: ""
    id: systemuicfgErrorBanner
    text: "Error: " + infodetails
    Connections
    
        target: cfgScanner
        onError: systemuicfgErrorBanner.infodetails = desc
    

【讨论】:

以上是关于对全局属性 QML 的无效写入的主要内容,如果未能解决你的问题,请参考以下文章

QML 中的全局图像资源

QML ProgressBar 无效的属性名称“样式”

.Net Core 属性时间格式化(非全局)

Qml QtQuick2'无效的属性名称“样式”(M16)' [重复]

QML QtCreator 使用无效代码重新格式化组件类型的属性

Vue——的全局过滤器的创建