我收到错误:“QQmlApplicationEngine无法加载组件”和“qrc:/main.qml:-1文件未找到”

时间:2015-04-21 02:53:58

标签: qt qml qqmlapplicationengine

我创建了一个Qt Widgets应用程序,然后添加了一个名为“ main.qml ”的qml。我的文件是 dialog.cpp dialog.h dialog.ui main.cpp qml.qrc 中的untitiled9.pro main.qml

的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();
}

我在 untitled9.pro 中写了QT += qml quick widgets 我没有修改其他代码,这是怎么发生的? 这是我在stackoverflow中的第一个问题,我试着让我的问题清楚。

1 个答案:

答案 0 :(得分:1)

QUrl :: fromLocalFile将构建一个基于本地文件的URL。所以,只需删除代码中的“qrc:///”即可。如有必要,将main.qml复制到构建目标目录中。

示例代码:

engine.load(QUrl::fromLocalFile("main.qml"));