本篇文章主要介绍在QT中,对程序文件(*ui,*cpp,*h)更改之后编译运行的程序结果却无法更新的解决方案。
问题描述
在设计QT的GUI用户界面时,我们需要不断对程序文件进行修改以优化用户体验,因此需要更新程序的生成文件。
实际经历:笔者最近在一个项目中需要将QT的GUI程序打包发布,因此要用到发布版本的exe文件。然而,对于GUI界面通常需要不断美化和修改,所以经常需要用到更新后的exe文件,但是很奇怪的是,修改后的程序一直都没有更新,总是之前的运行结果。
原因分析及解决方案
本人一贯的建议是:当我们遇到程序问题时,不要急于上网找答案,首先要做到就是分析自己的程序框架结构,按照程序结构逐步排查,整个走完一遍如果还有问题再上网查阅。因为程序问题受电脑本身环境影响,各不相同。盲目按照网上教程进行测试无异于盲人摸象,无法培养和提高自身解决问题的能力,希望大家可以有意识去锻炼下。
回到正题,这种程序无法更新的问题一般来源于一下几个方面:
修改后的程序文件没有生成
这种情况是由于QT程序没有重新构建导致。因为QT同样是需要编译,所以每次修改程序文件后,都需要重新构建,QT中使用编译的工具是qmake,所以这里我们要搞清楚Qt中构建、运行、qmake的区别:
qmake:根据实际环境创建项目文件.pro 并且运行qmake生成适当的Makefile
构建:构建是增量编译,只编译有变化部分
重新构建:是把所有部分都重新编译
运行: 有改动则根据已有的Makefile进行编译,执行构建和重新构建时如果没有Makefile,会根据.pro文件等生成Makefile后再编译
所以此种情况的解决方案是:清理项目—》执行qmake—》重新构建所有项目—》运行
修改后的程序文件生成了,只是路径未知
对于第一种情况,想想大家都可以正确解决,但是恰好本人遇到的是第二种:在执行“清理项目—》执行qmake—》重新构建所有项目—》运行”后,依旧没有得到更新后的exe文件。
这种时候我们就需要不断排除问题了,最终本人发现这种问题是因为项目的构建目录未设置正确,因此,我们在执行程序时,必须清楚自己生成的文件会在哪里。解决方案如下:
项目——》构建和运行——》构建目录,然后设置自己的路径,去这里寻找生成的文件即可。
结果如下,修改后生成的exe文件正确更新,完成了程序图标的添加。
作者:Daniel
来源:****
版权声明:本文为原创文章,转载请附上博文链接:/qq_26464039/article/details/85243627