我创建了一个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中的第一个问题,我试着让我的问题清楚。
答案 0 :(得分:1)
QUrl :: fromLocalFile将构建一个基于本地文件的URL。所以,只需删除代码中的“qrc:///”即可。如有必要,将main.qml复制到构建目标目录中。
示例代码:
engine.load(QUrl::fromLocalFile("main.qml"));