Я получил ошибки: "QQmlApplicationEngine не удалось загрузить компонент" и "qrc:/main.qml:-1 Файл не найден"
Я создал приложение Qt Widgets, затем добавил к нему qml с именем "main.qml". Мои файлы: dialog.cpp, dialog.h, dialog.ui, main.cpp, untitiled9.pro, main.qml в qml.qrc
main.cpp:
#include "dialog.h"
#include <QApplication>
#include <QQmlApplicationEngine>
#include<QtQml>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dialog w;
// w.show();
QQmlApplicationEngine engine;
// engine.load(QUrl(QStringLiteral("qrc://main.qml")));
engine.load(QUrl::fromLocalFile("qrc:///main.qml"));
return a.exec();
}
я написал QT += qml quick widgets
в без названия9.pro.
Я не модифицировал другие коды, как это случилось? Это мой первый вопрос в stackru, я пытаюсь прояснить свой вопрос.
1 ответ
QUrl::fromLocalFile создаст локальный файл на основе URL. Итак, просто удалите "qrc:///" в коде. Скопируйте main.qml в целевой каталог сборки, если это необходимо.
Образец кода:
engine.load(QUrl::fromLocalFile("main.qml"));