Best way to access a cpp structure in QML

后端 未结 1 1390
萌比男神i
萌比男神i 2021-01-03 06:26

I need to pass structures between cpp and QML. If i use property i should create an individual set and get functions, My structure contains minimum 5 member

1条回答
  •  猫巷女王i
    2021-01-03 07:09

    You need meta data to access C++ objects from QML.

    For non QObject derived, this is achieved by using the Q_GADGET macro, and exposing the members as properties:

    struct MyStruct {
        Q_GADGET
        int m_val;
        QString m_name1;
        QString m_name2;
        QString m_name3;
        QString m_name4;
        Q_PROPERTY(int val MEMBER m_val)
        Q_PROPERTY(QString name1 MEMBER m_name1)
        Q_PROPERTY(QString name2 MEMBER m_name2)
        Q_PROPERTY(QString name3 MEMBER m_name3)
        Q_PROPERTY(QString name4 MEMBER m_name4)
    };
    

    0 讨论(0)
提交回复
热议问题