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