无效写入全局属性QML。

16

我有这个信号

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"

我做错了什么?

提前致谢。


4
请使用以下代码:onError: systemuicfgErrorBanner.infodetails = desc。需要注意的是,翻译要保证内容准确无误,通顺易懂,并且不得添加解释或其他额外内容。 - aleks_misyuk
@aleks_misyuk,抱歉重复了,我发现你的评论后才发布了答案.. - sergk
1个回答

19

尝试通过 id 引用 InfoBanner 实例:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接