今天发现一个问题:“QT在开发环境中打开应用程序与双击exe程序界面不一样”,通过网上查资料该问题已解决特记录一下。
首先总结一下问题的根因:因为开发环境中由开发环境负责加载资源信息,而双击生成的exe开发环境不会为其加载资源信息,所以会感觉界面有些资源没有加载成功,或者直接无法运行。解决办法就是通过qt自带工具(windeployqt.exe)去为exe生成所需的资源信息以及收集所依赖的动态库。
具体操作是
1、首先我们在开发环境中生成release版的可执行程序,并保证可以正常运行;
2、将步骤1生成的可执行程序拷贝到一个新的目录下(我们以目录“D:\QtPro\release_video_client”)为例;
3、在cmd窗口中执行“.\windeployqt.exe D:\QtPro\release_video_client\VideoClient.exe”,此时qt会把该可执行程序依赖的库文件拷贝到该程序所在的目录下;
4、双击exe此时与开发环境中打开的界面一样了;
附件: