Windows 部署QML应用程序

Windows 部署QML应用程序,windows,qt,deployment,qml,Windows,Qt,Deployment,Qml,我制作了一个litle QML应用程序,必须在windows上部署 我在发布模式下编译了它 我不习惯在windows上部署,在我的文件旁边添加了很多dll(感谢dependency walker)之后,它就不会启动了 我添加了另一个不需要的dll(显然),应用程序终于启动了 但它启动了一个空窗口 我做错了什么?我怎样才能让它工作?问题是你的应用程序必须附带QML文件和所有需要的图标。 最简单的解决方案是把所有的QML和图标文件放在QT资源文件(.qRC)中,然后简单地执行一个C++启动程序,从q

我制作了一个litle QML应用程序,必须在windows上部署

我在发布模式下编译了它

我不习惯在windows上部署,在我的文件旁边添加了很多dll(感谢dependency walker)之后,它就不会启动了

我添加了另一个不需要的dll(显然),应用程序终于启动了

但它启动了一个空窗口


我做错了什么?我怎样才能让它工作?

问题是你的应用程序必须附带QML文件和所有需要的图标。 最简单的解决方案是把所有的QML和图标文件放在QT资源文件(.qRC)中,然后简单地执行一个C++启动程序,从qrc:< /p>加载qQueVIEW。
#include <QGuiApplication>
#include <QQuickView>

int main (int argc, char ** argv) {
    QGuiApplication app (argc, argv);
    QQuickView view     (QUrl("qrc:/main.qml"));
    view.setTitle       (QObject::tr("My App"));
    view.setResizeMode  (QQuickView::SizeRootObjectToView);
    view.showNormal     ();
    return app.exec     ();
}
#包括
#包括
int main(int argc,字符**argv){
QGUI应用程序应用程序(argc、argv);
QQuickView视图(QUrl(“qrc:/main.qml”);
view.setTitle(QObject::tr(“我的应用”);
view.setResizeMode(QQuickView::SizeRootObjectToView);
view.showNormal();
返回app.exec();
}

然后编译整个东西,你的QML,SVG,PNG文件将被编译成C++程序,所以你只需要传送二进制,不用关心资源!p> 问题是你的应用程序必须附带QML文件和所有需要的图标。 最简单的解决方案是把所有的QML和图标文件放在QT资源文件(.qRC)中,然后简单地执行一个C++启动程序,从qrc:< /p>加载qQueVIEW。

#include <QGuiApplication>
#include <QQuickView>

int main (int argc, char ** argv) {
    QGuiApplication app (argc, argv);
    QQuickView view     (QUrl("qrc:/main.qml"));
    view.setTitle       (QObject::tr("My App"));
    view.setResizeMode  (QQuickView::SizeRootObjectToView);
    view.showNormal     ();
    return app.exec     ();
}
#包括
#包括
int main(int argc,字符**argv){
QGUI应用程序应用程序(argc、argv);
QQuickView视图(QUrl(“qrc:/main.qml”);
view.setTitle(QObject::tr(“我的应用”);
view.setResizeMode(QQuickView::SizeRootObjectToView);
view.showNormal();
返回app.exec();
}

然后编译整个东西,你的QML,SVG,PNG文件将被编译成C++程序,所以你只需要传送二进制,不用关心资源!p>