qrc:找不到文件/目录问题

时间:2013-07-05 10:21:25

标签: qt qml

我正在开发一个项目,其中所有.js和.qml文件都存储在Qt资源文件(.qrc)中。我试图在qml文件中导入外部目录。外部目录包含用于不同目的的其他.qml文件。我不想将这些外部目录包含在.qrc文件中。

添加导入路径时出现错误:

  

qrc:\ example.qml:找不到目录

有没有办法包含这样的外部文件或目录。

1 个答案:

答案 0 :(得分:0)

在Qt论坛http://qt-project.org/forums/viewthread/7047中找到了解决方案。要访问QRC外部的任何文件,请使用文件的“绝对文件路径”。 例如: 在main.cpp文件中:

QString path = QDir::currentPath(); //path where the exec is present

如果您的文件位于exec文件夹的src/file.qml,那么您可以像访问它一样访问它 (path + =“/ src / file.qml”;),现在path是file.qml的绝对文件路径。您可以在任何QRC文件中访问它。

QQuickView view; 
view.rootContext()->setContextProperty("myFile", path);
view.setSource("qrc:/main.qml"); 

在main.qml文件中:

Loader
{
    id: loadItem
    source: myFile
}
Item
{
   Component.onCompleted: loadItem.item
}