问题 写入全局属性QML无效


我有这个信号

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

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

Invalid write to global property "infodetails"

我究竟做错了什么?

提前致谢


10586
2017-09-05 14:49


起源

尝试使用 onError: systemuicfgErrorBanner.infodetails = desc - aleks_misyuk
@aleks_misyuk,抱歉复制,我发现答案后才注意到你的评论.. - sergk
@sergk,没问题。 - aleks_misyuk


答案:


尽量参考 InfoBanner 实例由id:

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

11
2017-09-06 17:03