## 信号与槽 信号与槽都可以在qml中访问 ### Q_INVOKABLE宏 在定义一个类的成员函数时使用Q_INVOKABLE宏来修饰,就可以让该方法被元对象系统调用。(也就是注册到元对象系统中) 例如: ``` Q_INVOKABLE void setAlgorithm(GenerateAlgorithm algorithm); ``` ### Q_ENUMS宏 使用Q_ENUMS(枚举名)的方式来注册枚举类型 ### Q_PROPERTY宏 Q_PROPERTY宏用来定义可通过元对象系统访问的属性,通过它定义的属性,可以在QML中访问、修改,也可以通过在属性变化时发射特定信号。 ### 注册一个QML可用类型 1. 实现c++类 2. 注册QML类型 3. 在QML中导入类型 4. 在QML中创建由c++导出的类型的实例并使用 #### 注册QML类型 1. qmlRegisterSingletonType() 用来注册单例类型 2. qmlRegisterType() 注册非单例类型 3. qmlRegisterTypeNotAvailable() 注册一个类型用来占位 4. qmlRegisterUncreateableType() 注册具有附加属性的附加类型