c++ 导入QML 步骤
实现 C++ 类
注册 QML 类型
在 QML 中导入类型
在 QML 创建由 C++ 导出的类型的实例并使用
关键词
- Q_PROPERTY() 宏,用来在一个类中声明具有 QT属性
- Q_INVOKABLE宏,来修饰成员函数,目的在于被修饰的成员函数能够被元对象系统所唤起(能被调用)
- Q_ENUMS QT的枚举
- Q_DECLARE_LOGGING_CATEGORY() QT的日志功能
- qmlRegisterType 注册 C++对象到QML
- setContextProperty 注册为 QML 上下文的属性,这样可以直接用C++类的属性
- qRegisterMetaType 自己定义的类型如果想使用signal/slot来传递
Q_DECLARE_LOGGING_CATEGORY(MAVLinkProtocolLog)
qmlRegisterType<Fact>(_factSystemQmlUri, 1, 0, "Fact");
// QGCQmlWidgetHolder.cpp
_ui.qmlWidget->rootContext()->setContextProperty(name, object);
// UAS MessageHandler.h
QString getFormatedText() //得到html文本