2012-09-05 14 views
11

tengo esta señalescritura no válida a la propiedad mundial QML

class SystemUICfgScanner 
{ 
    /*code here*/ 
signals: 
    void error(QString desc); 
    /*more code*/ 
}; 

En QML uso una franja informativa de esta manera:

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

Cuando se emite la señal de error (QString), estoy consiguiendo este error

Invalid write to global property "infodetails" 

¿Qué estoy haciendo mal?

Gracias de antemano

+4

intenta utilizar 'onError: systemuicfgErrorBanner.infodetails = desc' –

+0

@aleks_misyuk, lo siento por la duplicación, me di cuenta de que su único comentario después de publicar una respuesta. – sergk

+0

@sergk, sin problemas. –

Respuesta

10

intenta hacer referencia a InfoBanner ejemplo por ID:

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