方式"/>
C++和QML 交互方式
1.先写一个类 方便QML调用
先说明能被QML调用的结论:
1. 槽函数可以直接访问
2.被Q_INVOKABLE 修饰的 函数可以直接调用
3.被 Q_PROPERTY(int value MEMBER m_value NOTIFY valueChanged)标记的变量可以修改和调用
#include <QObject>
#include <QtQml>class MyObject : public QObject
{Q_OBJECTQ_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<MyObject>("MyObject", 1, 0, "Object");
/*********************************************************************************************************/
其中自定义控件的方式可以 直接嵌套数据和绘图以及表格
通过 CPP继承 Qquickitem 进行操作。
更多推荐
C++和QML 交互方式
发布评论