Qt 在Windows上部署QML桌面应用程序时获取空窗口
我刚刚在Windows上完成了QML桌面应用程序的编写(使用QtCreator和c++) 根据说明,我已使用MinGw编译器在C:\QtSDK\Desktop\QT\4.7.4\MinGw\imports\QT\labs\Components文件夹中安装了QT Quick Desktop组件 我用命令qmake&&jom debug&&jom install安装了它两次,一次用于调试,一次用于发布,一次用于命令qmake&&jom release&&jom install,所以我现在有两个dll文件:1.styleplugin.dll,2.styleplugind.dll。当我需要的时候,我会使用它们。我已将其导入到我的应用程序中: 导入Qt.labs.components 0.1 现在,我必须部署我的应用程序,并使其在所有机器上运行:安装了Qt,或者没有。我尝试通过以下步骤完成: 复制这些文件:application.exe、QtCore4.dll、QtGui4.dll、QtNetwork4.dll、styleplugin.dll和styleplugind.dll 但是当我运行.exe文件时,我会看到一个白色的空屏幕 (顺便说一句,当我从发布文件夹运行.exe文件时,我只能再次看到一个白色窗口,当我对一个简单的小部件GUI应用程序执行相同操作时,它从那里运行良好) 你知道这种情况的原因吗Qt 在Windows上部署QML桌面应用程序时获取空窗口,qt,deployment,desktop,qml,Qt,Deployment,Desktop,Qml,我刚刚在Windows上完成了QML桌面应用程序的编写(使用QtCreator和c++) 根据说明,我已使用MinGw编译器在C:\QtSDK\Desktop\QT\4.7.4\MinGw\imports\QT\labs\Components文件夹中安装了QT Quick Desktop组件 我用命令qmake&&jom debug&&jom install安装了它两次,一次用于调试,一次用于发布,一次用于命令qmake&&jom release&&jom install,所以我现在有两个dll
任何答复都将不胜感激 您可能忘记了将QML文件部署到exe?(qrc) 测试它的简单方法是将带有qml文件的文件夹复制到exe文件附近的目标 UPD: 请看这篇文章 即:
viewer->setSource(QUrl("qrc:/main.qml"));
一种可能的解决方案是通过运行命令来启用警告
qmlviewer.exe -warnings show qmlfilename.qml
如果qmlviewer找不到任何依赖的导入库,它将显示在这里
要确保qmlviewer可以访问导入库,请使用命令行上的-I
或者将QML_IMPORT_PATH环境变量设置为包含导入库的文件夹
例如:
qmlviewer.exe-警告显示-I qmlfilename.qml
或
设置QML\u导入路径=
模块导入搜索路径在哪里(不带)Ad应用程序日志中的输出是什么?我打赌它会帮助您找到solutionQt Creator的默认运行配置,该配置从project/而不是从project/release/运行.exe,并且如果.qml文件查找是相对于.exe运行路径进行的,则可能找不到.qml文件。尝试将.exe文件夹向上移动一个文件夹,并检查运行配置设置(以查看是否将运行路径设置为/release会以您在target上看到的相同方式破坏内容)请响应答案或接受答案我真的忘记了,我只是不知道如何将QML文件部署到exe?(qrc)。如果我复制qml文件夹-它工作得很好。
qmlviewer.exe -warnings show -I <directory> qmlfilename.qml
set QML_IMPORT_PATH=<directory>