导入过程中出现警告
此警告类别包含多个警告
导入模块失败
发生了什么?
通过导入语句导入的模块未找到。
例如,这可能是由于
- 导入语句中的拼写错误,或者
- 未构建的用户定义模块,或者
- 错误的导入路径,或者
- 缺少模块
为什么这很糟糕?
应用程序无法运行,因为它找不到其所依赖的模块。
示例
导入语句中的拼写错误
import QtQuicky // not ok: typo in module name Item { }
您可以通过纠正拼写错误来解决此警告
import QtQuick // ok: no typo in module name Item { }
未构建的用户定义模块
一些工具,如QML 语言服务器或qmllint,在用户定义模块未构建时无法找到它们。如果您的项目定义了您尝试导入的 QML 模块,那么在构建之前 QML 工具将无法找到它。
注意:如果在使用QML 语言服务器时构建模块没有帮助,请遵循QML 语言服务器设置说明,并确保您已将正确的构建文件夹传达给 QML 语言服务器。
错误的导入路径
有关导入路径的更多信息,请参阅QML 导入路径文档和模块导入调试文档。
缺少模块
如果前面的部分没有帮助找到导入的模块,它可能缺失。这可能是由于缺少依赖项造成的。当使用外部库时,请确保它们确实已安装,并且它们的模块最终出现在一个导入路径中。
组件未找到
发生了什么?
某些组件未找到。
为什么这很糟糕?
应用程序无法运行,因为它无法实例化未找到的组件。
示例
组件名称拼写错误
import QtQuick Item { Itemy {} // not ok: typo in name }
您可以通过纠正拼写错误来解决此警告
缺少导入语句
Item { // not ok: must be imported from QtQuick first }
您可以通过添加缺失的模块导入来解决此警告
import QtQuick Item { // ok: was imported from QtQuick }
导入限定符必须以大写字母开头
发生了什么?
某些导入的模块具有无效的限定符。
为什么这很糟糕?
使用此无效限定符导入的模块不能使用。
示例
import QtQuick as qq
qq.Item {
}
您可以通过将导入限定符以大写字母开头来修复此警告。
import QtQuick as Qq
Qq.Item {
}
未知导入语法
发生了什么?
导入语句正在使用无效的 导入语法。
为什么这很糟糕?
由于无法导入它所依赖的模块,应用程序无法运行。
示例
import "¯\(ツ)/¯:/path/to/Module"
import QtQuick
Item {
}
您可以通过使用允许的方案来修复此警告。
import "qrc:/path/to/Module"
import QtQuick
Item {
}
注意: 此示例假定您没有使用URL处理器。
另见 导入语句。
© 2024 The Qt Company Ltd. 本文件包含的文档贡献是各自拥有者的版权。本文档提供的是根据自由软件基金会发布的 GNU自由文档许可协议版本1.3 的条款许可的。Qt及其相关标志是芬兰及世界各地The Qt Company Ltd.的商标。所有其他商标均为其各自所有者的财产。