Qt问题集锦:编译运行后界面不更新 | 您所在的位置:网站首页 › 阴阳师改名后界面没变 › Qt问题集锦:编译运行后界面不更新 |
Qt问题集锦:编译运行后界面不更新
问题描述问题分析问题解决方法一:替换源码目录的ui_mainwindow.h文件方法二:根治法,修改.pro路径,指向更新文件
问题描述
在使用Qt进行界面设计时,我们经常要修改界面,但有时会莫名其妙的遇到明明修改了界面,运行后界面不更新的问题。初学者遇到这类问题时,往往不知所措,百度也不太容易找到解决办法,通常是重新构建、Debug和Release切换、qmake等各种方式搭配使用,但并不一定解决问题。本文从问题分析入手,帮助大家理解并解决问题。 问题分析在分析问题前,我们先看下Qt源码和生成文件的目录中,有关界面文件的结构。假设我们选择的是Release编译,勾选Shadow build,如下图所示,会在源码所在根目录自动生成一个Release文件夹,所有的生成文件都会存放在该文件,包括应用程序.exe 在这里,请注意,我们要关注的目标是ui_mainwindow.h文件,问题原因也在这里。点开所有文件目录,我们发现,有两处都有ui_mainwindow.h文件,分别在源码目录、MinGW_32bit-Release目录,测试可发现,后者在界面修改并运行后实时更新,而前者不一定更新。源码目录的ui_mainwindow.h文件没更新,这就是导致问题的根本原因。 问题解决既然找到了原因,解决问题的方向也就比较明确了,那就是更新源码目录的ui_mainwindow.h文件。这里给出两个解决方法。 方法一:替换源码目录的ui_mainwindow.h文件既然MinGW_32bit-Release目录的ui_mainwindow.h文件可以随界面更新,那么这个文件复制到源码目录,替换掉原来的ui_mainwindow.h文件,即可解决问题。 方法二:根治法,修改.pro路径,指向更新文件既然MinGW_32bit-Release目录的ui_mainwindow.h文件可以随界面更新,那么把编译运行调用的UI文件指向更新的ui_mainwindow.h,即可解决问题。操作步骤: .pro文件,增加 UI_DIR=./UI,是的UI路径指向相对路径(MinGW_32bit-Release目录),该目录的ui_mainwindow.h实时更新;删除源码目录中的ui_mainwindow.h;清理项目,重新qmake,重新构建。 == 注意:若Debug中有文件,也一并清理或手动删除==至此,以后再不会被界面不更新的问题困扰。 |
CopyRight 2018-2019 实验室设备网 版权所有 |