QQmlExtensionPlugin 类

QQmlExtensionPlugin 类提供了一种抽象基类,用于具有自定义类型注册函数的自定义 QML 扩展插件。更多...

头文件 #include <QQmlExtensionPlugin>
CMakefind_package(Qt6 REQUIRED COMPONENTS Qml)
target_link_libraries(mytarget PRIVATE Qt6::Qml)
qmakeQT += qml
继承 QObject

公共函数

(自 6.0) 虚拟 voidunregisterTypes()

重实现的公共函数

虚拟 voidinitializeEngine(QQmlEngine *engine, const char *uri) override
虚拟 voidregisterTypes(const char *uri) override = 0

详细描述

注意:如果您需要手动编写插件(这种情况很少见),您应始终使用 QQmlEngineExtensionPlugin。 QQmlExtensionPlugin 只提供了 registerTypes() 和 unregisterTypes() 函数。您不应该使用它们,而应该使用 QML_ELEMENT 和类似功能声明您的类型,让构建系统负责注册。

成员函数文档

[重写虚函数] void QQmlExtensionPlugin::initializeEngine(QQmlEngine *engine, const char *uri)

使用 uriengine 初始化扩展。例如,应用程序插件可在此处将一些数据或对象公开给 QML,作为根上下文上的上下文属性。

[重写纯虚函数] void QQmlExtensionPlugin::registerTypes(const char *uri)

在指定的 uri 中注册 QML 类型。子类应实现此方法,调用 qmlRegisterType() 以注册扩展插件提供的所有类型。

uri 是由 QML 引擎生成的插件标识符,基于扩展插件的插件库的名称和路径。

[虚函数,自 6.0] void QQmlExtensionPlugin::unregisterTypes()

重写此方法以手动注销在 registerTypes 中注册的类型。

此功能自 Qt 6.0 引入。

© 2024 The Qt Company Ltd. 本文档中包含的文档贡献均为各自所有者的版权。本文档提供的内容按照自由软件基金会发布的、由 Free Software Foundation 发布的 GNU 自由文档许可证 1.3 版 的条款进行许可。Qt 和相应标志是 The Qt Company Ltd. 在芬兰以及/或其他国家和地区的商标。所有其他商标均为各自所有者的财产。