Как правильно добавить ресурсы в приложение Qt

Я пытаюсь развернуть приложение Windows в Qt, поэтому я изменяю режим на релиз, но когда я его выполняю, все, что он пишет, это

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 и images (они находятся в той же папке, что и main.cpp и resources.qrc), но безуспешно.

Вот как я устанавливаю основной источник для QQuickView:

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

В режиме отладки проблем нет и все запускается как надо.

Как я могу изменить ресурс / код, чтобы он работал?

Спасибо за вашу помощь!

//РЕДАКТИРОВАТЬ:

Мне удалось решить это с view_>setSource(QUrl(QStringLiteral("qrc:/qml/Main.qml")));

1 ответ

Решение

Вам не нужно использовать QUrl::fromLocalFile()эта функция указывает, что вы ищете локальный файл, но пути, обрабатываемые.qrc, являются виртуальными.

Использование:

view_->setSource(QUrl(QStringLiteral("qrc:/qml/Main.qml")));
Другие вопросы по тегам