旧版模块
旧版模块是指其 qmldir
规范文件不包含模块标识符指令的模块。旧版模块要么被安装到 QML 导入路径中(作为已安装的旧版模块),要么通过相对导入被客户端导入(作为已定位的旧版模块)。建议客户端尽可能避免使用旧版模块。模块开发者应确保他们创建可识别的模块,而不是旧版模块。
已安装的旧版模块
一个已安装的非标识性模块将自动由 QML 引擎指定一个标识符。这个隐式定义的标识符等于模块的安装路径(相对于 QML 导入路径),其中目录分隔符被点符号替换。
安装到 QML 导入路径中的非标识模块有以下语义
- 客户端可以通过隐式模块标识符导入它
- 客户端导入模块时必须指定版本
- 冲突的类型名称由 QML 引擎任意解析,并且解析冲突的方式在不同版本的 QML 之间可能不会保持相同
- 其他旧版模块可以修改或覆盖由已安装的旧版模块提供的类型定义
已定位的旧版模块
通过相对目录路径导入语句导入的非标识模块作为已定位的旧版模块由引擎加载。以下语义适用于已定位的旧版模块
- 客户端可以通过相对导入路径导入它
- 客户端导入模块时指定版本不是强制的
- 如果客户端在导入语句中没有提供导入版本,QML 引擎不保证将导入给定类型名称的定义的哪个版本
- 冲突的类型名称由 QML 引擎任意解析,并且解析冲突的方式在不同版本的 QML 之间可能不会保持相同
- 其他旧版模块可以修改或覆盖由已定位的旧版模块提供的类型定义
已定位的旧版模块可以位于本地文件系统或网络上,可以通过指定文件系统路径或网络 URL 的 URL 进行引用。
© 2024 Qt 公司有限公司。本文件中包含的文档贡献是其各自所有者的财产。此处提供的文档受 GNU 自由文档许可证版本 1.3 的条款约束,由自由软件基金会发布。Qt 及其相应标志是芬兰的 Qt 公司及/或在其他国家和地区的商标。所有其他商标都是其各自所有者的财产。