Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Недопустимая запись в глобальное свойство QML

Автор вопроса: marmistrzОтветов: 1

у меня есть этот сигнал

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"

Что я делаю неправильно?

заранее спасибо

  • Попробуйте использовать onError: systemuicfgErrorBanner.infodetails = desc aleks_misyuk 06.09.2012
  • @aleks_misyuk, извините за дублирование, я заметила ваш комментарий только после публикации ответа.. sergk 06.09.2012

propertiesqtqmlqt4qtdeclarative

Ответы

Ответ 1 · рейтинг 17 · sergk

Попробуйте сослаться на экземпляр InfoBanner по идентификатору:

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы