导入QML文档目录

时间:2016-02-26 17:04:34

标签: qt import qml qmake rcc

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

1 个答案:

答案 0 :(得分:1)

qrc文件

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

mytypes/MyType.qml位于前缀/mytypes之下。因此,main.qml中的import语句应包含该前缀:

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 { }