0

我想将我的自定义 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 文件进行一些更改吗?

4

1 回答 1

1

qrc 文件

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

mytypes/MyType.qml是在前缀下/mytypes。因此,import 语句中main.qml应包含该前缀:

import "mytypes/mytypes"

MyType { }

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

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

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

import "mytypes"

MyType { }
于 2016-02-27T06:50:04.007 回答