3

我创建了一个 Qt Widgets 应用程序,然后向其中添加了一个名为“ main.qml ”的 qml。我的文件是qml.qrc中的dialog.cppdialog.hdialog.uimain.cppuntitiled9.promain.qml

主.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我在untitled9.pro中写道。
我没有修改其他代码,这是怎么发生的?这是我在stackoverflow中的第一个问题,我试着把我的问题说清楚。

4

1 回答 1

1

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

示例代码:

engine.load(QUrl::fromLocalFile("main.qml"));
于 2015-04-21T03:31:39.327 回答