导入 QML 文档目录

Importing QML Document Directories

我想将我的自定义 QML 类型 MyType 从子目录 mytypes 导入到我的 main.qml 文件中。它也与 mytypes 文件夹位于同一目录中。我使用此文档页面作为参考。 http://doc.qt.io/qt-5/qtqml-syntax-directoryimports.html

我是这样使用的:

import "mytypes"

MyType {

}

在代码中,MyType 像往常一样被识别和突出显示。但是,当我 运行 应用程序时,出现以下错误:

qrc:/main.qml:5:1:  "mytypes": no such directory

我的 .qrc 文件看起来像这样:

<RCC>
<qresource prefix="/">
    <file>main.qml</file>
</qresource>
<qresource prefix="/mytypes">
    <file>mytypes/MyType.qml</file>
</qresource>
</RCC>

那么错误在哪里呢?我是否也应该对 .pro 文件进行一些更改?

qrc 文件

<qresource prefix="/mytypes">
    <file>mytypes/MyType.qml</file>
</qresource>

表示 mytypes/MyType.qml 在前缀 /mytypes 下。因此,main.qml 中的导入语句应包含该前缀:

import "mytypes/mytypes"

MyType { }

或者,删除 /mytypes 前缀并将 mytypes/MyType.qml 移动到 qrc 文件中的 / 前缀下:

<RCC>
    <qresource prefix="/">
        <file>main.qml</file>
        <file>mytypes/MyType.qml</file>
    </qresource>
</RCC>

main.qml可以直接导入类型:

import "mytypes"

MyType { }