本篇文章主要介绍在QT中,对程序文件(*ui,*cpp,*h)更改之后编译运行的程序结果却无法更新的解决方案。

问题描述

在设计QT的GUI用户界面时,我们需要不断对程序文件进行修改以优化用户体验,因此需要更新程序的生成文件。


实际经历:笔者最近在一个项目中需要将QT的GUI程序打包发布,因此要用到发布版本的exe文件。然而,对于GUI界面通常需要不断美化和修改,所以经常需要用到更新后的exe文件,但是很奇怪的是,修改后的程序一直都没有更新,总是之前的运行结果。

原因分析及解决方案


本人一贯的建议是:当我们遇到程序问题时,不要急于上网找答案,首先要做到就是分析自己的程序框架结构,按照程序结构逐步排查,整个走完一遍如果还有问题再上网查阅。因为程序问题受电脑本身环境影响,各不相同。盲目按照网上教程进行测试无异于盲人摸象,无法培养和提高自身解决问题的能力,希望大家可以有意识去锻炼下。

回到正题,这种程序无法更新的问题一般来源于一下几个方面:

1.QT修改后的程序文件没有生成

这种情况是由于QT程序没有重新构建导致。因为QT同样是需要编译,所以每次修改程序文件后,都需要重新构建,QT中使用编译的工具是qmake,所以这里我们要搞清楚
Qt中构建、运行、qmake的区别:

        qmake:根据实际环境创建项目文件.pro   并且运行qmake生成适当的Makefile
        构建:构建是增量编译,只编译有变化部分
        重新构建:是把所有部分都重新编译
        运行:
有改动则根据已有的Makefile进行编译,执行构建和重新构建时如果没有Makefile,会根据.pro文件等生成Makefile后再编译

所以此种情况的解决方案是:清理项目—》执行qmake—》重新构建所有项目—》运行


 2.QT修改后的程序文件生成了,只是路径未知

对于第一种情况,想想大家都可以正确解决,但是恰好本人遇到的是第二种:在执行“清理项目—》执行qmake—》重新构建所有项目—》运行
”后,依旧没有得到更新后的exe文件。

这种时候我们就需要不断排除问题了,最终本人发现这种问题是因为项目的构建目录未设置正确,因此,我们在执行程序时,必须清楚自己生成的文件会在哪里。解决方案如下:

项目——》构建和运行——》构建目录,然后设置自己的路径,去这里寻找生成的文件即可。



结果如下,修改后生成的exe文件正确更新,完成了程序图标的添加。





作者:Daniel
来源:CSDN 
版权声明:本文为原创文章,转载请附上博文链接:
https://blog.csdn.net/qq_26464039/article/details/85243627
<https://blog.csdn.net/qq_26464039/article/details/85243627>