1.先写一个类 方便QML调用
先说明能被QML调用的结论:
1. 槽函数可以直接访问
2.被Q_INVOKABLE 修饰的 函数可以直接调用
3.被 Q_PROPERTY(int value MEMBER m_value NOTIFY valueChanged)标记的变量可以修改和调用
- #include
- #include
-
- class MyObject : public QObject
- {
- Q_OBJECT
- Q_PROPERTY(int value MEMBER m_value NOTIFY valueChanged)
- Q_PROPERTY(QString str MEMBER m_str NOTIFY strChanged)
- public:
- explicit MyObject(QObject *parent = nullptr);
-
- public:
- void setValue(int newValue);
- int getValue();
-
- void setStr(QString newStr);
- QString getStr();
-
- Q_INVOKABLE void initUI();
- public slots:
- void setname();
-
- signals:
- void valueChanged();
- void strChanged();
-
- private:
- int m_value=100;
- QString m_str;
- };
.通过注册的方式交互方式
1暴露全局变量的方式 。
context->("m_text",m_text);
2.是采用自定义控件的方式
qmlRegisterType
/*********************************************************************************************************/
其中自定义控件的方式可以 直接嵌套数据和绘图以及表格
通过 CPP继承 Qquickitem 进行操作。