Nominate our 2022 Qt Champions!

QML property binding is not getting refeshed with values set in C++

  • Hi All,
    We are facing the issue in the QML integration with C++. The value set using set method in C++ is not being retrieved in QML. It always shows the wrong value. Please suggest how to retrieve the value in QML using property binding.

  • @Mamatha Hi @Mamatha, you have to give more information about the way you are updating the value on C++ side and how you access the value on QML side.

    The standart/normal way to do is to define a property on C++ side, like this:

    class MyObject: public QObject
        PROPERTY(QString myMessage GET getMyMessage NOTIFY myMessageChanged)
        MyObject(QObject *parent = 0): QObject(parent), m_myMessage(QString()) {}
        QString getMyMessage() const { return m_myMessage }
        void updateMessage(const QString &message)
            if(message != m_myMessage)
                m_myMessage = message;
                emit myMessageChanged(message);
    public slots:
         void myMessageChanged(const QString &message);
         QString m_myMessage;

    Then on QML side, supposing you have exposed a variable called cppObject:

    Label {
        text: cppObject.myMessage 

    That's it!

Log in to reply