QML与C++数据绑定
参考资料: Exposing Attributes of C++ Types to QML Overview - QML and C++ Integration Embedding C++ Objects into QML with Context Properties 参照 View-Model 模型,QML作为 View,C++中的对象作为 Model,实现业务逻辑和界面的分离。 暴露单个C++类的属性 通过这种方法,QML中可以直接访问注册到上下文中的C++类实例,并且是注册到QML的全局(具体是注册到一个 QQuickView 或者 engine)。以自定义一个 Name 类,类包括一个 data 属性为例。 类定义 需要暴露给QML访问的类需要有特殊的定义: /*name.h*/ #include <QObject> class Name : public QObject //继承自QObject { Q_OBJECT//QObject宏 Q_PROPERTY(QString data READ data WRITE setData NOTIFY dataChanged) public: Name(QObject *parent = nullptr);//默认构造函数 Name(QString _name);//构造函数 QString data() const;/