我做了一个从本地文件系统加载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
我在做什么?
答案 0 :(得分:1)
您展示的代码看起来不错,至少在以下几行:
viewer.setMainQmlFile("qrc:/main.qml");
错误可能在其他地方。您尚未共享您的项目文件,但原因可能是您的资源中没有正确的文件。
您需要在qmake文件中使用以下条目:
RESOURCES = main.qrc
答案 1 :(得分:0)
解决了,谢谢你们。出于某种原因,我的资源文件位于“其他文件”中,而不是在Qt Creator的“资源”区域中,因此我添加了一个新文件并且它有效。谢谢!