windeployqt 对 qml 的支持暂时还不够友好,如果程序中使用了某些特定模块,打包可能不会帮我们导出来.
需要注意地是
qml文件名都要大写开头、qml文件名不能和cpp文件名重名、比如main.cpp和main.qml这样的
Qt.labs.platform模块
在qml中如果使用了Qt.labs.platform
那么在打包的时候,目录下会多出一个 Qt\labs 文件夹.但是只有3个文件夹.
然后在C:\Qt\Qt5.14.2\5.14.2\mingw73_32\qml\Qt\labs下面发现还有这么多文件夹没有导入:
需要将platform文件夹复制到我们项目的Qt\labs下面.如果还不行,则尝试一个个文件夹复制.最后裁剪。
QtQuick.Particles模块
在qml中如果使用了 QtQuick.Particles
需要将C:\Qt\Qt5.14.2\5.14.2\mingw73_32\qml\QtQuick\Particles.2文件夹复制到我们项目的QtQuick下面。
其它模块也差不多,如果程序打不开,就是因为模块没导入完.