Qt应用程序中如何正确添加资源

How to rightly add resources in Qt application

我正在尝试在 Qt 中部署 windows 应用程序,所以我将模式更改为发布,但是当我执行它时,它只写

file::/qml/Main.qml: File is empty

我已经多次尝试返工resources.qrc,但没有成功。

resources.qrc

<RCC>
    <qresource prefix="/">
        <file>qml/Pages/DetailPage.qml</file>
        <file>qml/Pages/IntroPage.qml</file>
        <file>qml/Pages/LibaryPage.qml</file>
        <file>qml/Pages/Page.qml</file>
        <file>qml/Pages/PageView.qml</file>
        <file>qml/Controls/ControlSlider.qml</file>
        <file>qml/Models/CityModel.qml</file>
        <file>images/heatmapicon.png</file>
        <file>qml/Main.qml</file>
    </qresource>
</RCC>

我试图复制 qml 和图像文件夹(它们与 main.cppresources.qrc[=39 在同一文件夹中=]), 但也没有成功。

这就是我为 QQuickView 设置主源的方式:

view_->setSource(QUrl::fromLocalFile(QStringLiteral(":/qml/Main.qml")));

在调试模式下,没有问题,一切正常。

如何更改 resource/code 使其正常工作?

感谢您的帮助!

//编辑:

我已经用 view_>setSource(QUrl(QStringLiteral("qrc:/qml/Main.qml")));

解决了

你不一定非得用QUrl::fromLocalFile(),那个函数说明你在找本地文件,但是.qrc处理的路径是虚拟的。

使用:

view_->setSource(QUrl(QStringLiteral("qrc:/qml/Main.qml")));