在 QML 中使用 C++ 类和对象的方法
Qt 提供了两种在 QML 环境中使用 C++ 对象的方式:
1,在 C++ 中实现一个类,注册到 QML 环境中, QML 环境中使用该类型创建对象
2,在 C++ 中构造一个对象,将这个对象设置为 QML 的上下文属性,在 QML 环境中直接使用改属性
实现QML 中使用 C++ 类
从 QObject 或 QObject 的派生类继承
使用 Q_OBJECT 宏
1,只要是信号或者槽,都可以在 QML 中访问,可以把 C++ 对象的信号连接到 QML 中定义的方法上,也可以把 QML 对象的信号连接到 C++ 对象的槽上,还可以直接调用 C++ 对象的槽或信号
2,在定义一个类的成员函数时使用 Q_INVOKABLE 宏来修饰。
3,如果你要导出的类定义了想在 QML 中使用枚举类型,可以使用 Q_ENUMS 宏将该枚举注册到元对象系统中。
4,Q_PROPERTY 宏用来定义可通过元对象系统访问的属性,通过它定义的属性,可以在 QML 中访问、修改,也可以在属性变化时发射特定的信号。
详细实例可参考:
链接: 参考链接.