尝试从资源加载qml时出错

时间:2013-12-31 08:02:06

标签: c++ qt qt-creator qml qmake

我做了一个从本地文件系统加载qml的应用程序,它工作正常,但现在我正在尝试将其更改为从qml加载,但它从未找到我的文件。

我调查了网络并尝试了一些解决方案,没有任何效果。

我的qml文件位于项目qml/MyProject/main.qml的子目录中 然后我创建了一个资源文件,并添加了一个前缀“/”(尝试使用不同的名称),然后将我的qml文件添加到其中。

然后我将生成的qtquick2applicationviewer.cpp setMainQmlFile更改为:http://pastebin.com/kRJDJACW

然后我尝试了以下几行从资源加载qml:

viewer.setMainQmlFile("qrc:/main.qml");
viewer.setMainQmlFile("qrc://main.qml");
viewer.setMainQmlFile("qrc:/other_prefix/main.qml");
viewer.setMainQmlFile("qrc:/qml/MyProject/main.qml");
viewer.setMainQmlFile("qrc://qml/MyProject/main.qml");

我的资源档案:http://pastebin.com/1sjUqk2T

Qt版本:5.2 / QtCreator 3.0

我在做什么?

2 个答案:

答案 0 :(得分:1)

您展示的代码看起来不错,至少在以下几行:

viewer.setMainQmlFile("qrc:/main.qml");

错误可能在其他地方。您尚未共享您的项目文件,但原因可能是您的资源中没有正确的文件。

您需要在qmake文件中使用以下条目:

RESOURCES = main.qrc

答案 1 :(得分:0)

解决了,谢谢你们。出于某种原因,我的资源文件位于“其他文件”中,而不是在Qt Creator的“资源”区域中,因此我添加了一个新文件并且它有效。谢谢!