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 进行操作。