部署QML应用程序

Blu*_*gma 1 windows deployment qt qml

我制作了一个我必须在Windows上部署的小型QML应用程序.

我在发布模式下编译它.

我不习惯在Windows上部署,并且在我的文件旁边添加了很多dll(感谢依赖walker),它无法启动.

我添加了另一个不需要的dll(显然),应用终于开始了.

但它启动了一个空窗口.

我做错了什么 ?我怎样才能让它发挥作用?

The*_*roo 6

问题是您的应用必须附带QML文件和所有需要的图标.最简单的解决方案是将所有qml和图标文件放在Qt资源文件(.qrc)中,然后简单地做一个从qrc加载QQuickView的C++启动器:

#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     ();
}
Run Code Online (Sandbox Code Playgroud)

然后只需编译整个内容,您的QML,SVG,PNG文件将被编译到C++程序中,因此您只需运送二进制文件而无需关心资源!