使用 QML 模块与插件
QML 模块 可以使用 C++ 插件 将在 C++ 中定义的组件暴露给 Qt Quick 应用程序。
要创建 QML 模块并在 组件 视图中显示该模块:
- 创建自定义组件,并将所有
.qml
文件放置在与您的模块相关联的目录中。例如,imports/asset_imports
。 - 在您想要使用该模块的应用程序的 .qmlproject 文件中将包含该模块的目录路径指定为
importPaths
变量的值。例如,importPaths: ["imports", "asset_imports"]
。 - 为您的模块创建一个
qmldir
文件,并将其放置在模块目录中。有关更多信息,请参阅 模块定义 qmldir 文件。 - 在模块目录中创建一个名为
designer
的目录。 - 为您的模块创建一个
.metainfo
文件并将其放置在designer
目录中。元信息是用于在 组件 中显示组件所需的信息。您可以使用 Qt 一起提供的元信息文件,例如qtquickcontrols2.metainfo
作为示例。 - 使用与 Qt 设计工作室相同的 Qt 版本和编译器构建您的模块。
现在您的模块和组件应显示在 组件 中。
**注意**:如果 Qt 设计工作室找不到新的 QML 模块,请构建项目,然后转到 工具 > QML/JS > 重置代码模型 以重置代码模型。有关如何显示 工具 菜单的更多信息,请参阅 自定义菜单栏。
在设计模式下运行 QML 模块
QML仿真层(也称为QML傀儡)用于设计模式以渲染和预览图像以及收集数据。为了能够正确渲染QML模块中的自定义组件,仿真层必须使用与QML模块相同的Qt版本和编译器进行构建。
Qt设计工作室使用特定的Qt版本运行项目。在Qt设计工作室中,在底部工具栏中查找Qt运行时版本。
插件的行为应根据它是通过仿真层还是应用程序运行的而有所不同。例如,在设计模式下不应运行动画。您可以使用QML_PUPPET_MODE
环境变量的值来检查插件是否目前正在应用程序中运行或正在设计模式下编辑。
另见 重置代码模型。
适用于某些Qt许可。
了解更多。