Qt问题集锦:编译运行后界面不更新

Qt修改UI文件后界面不更新?从构建机制到排查实战 在Qt桌面开发中,界面设计通常通过Qt Designer生成的.ui文件来描述,这类XML格式的文件并非程序运行时解析,而是在编译阶段由uic(User Interface Compiler)转换为对应的头文件,再参与代码编译与链接。理解这一UI编译机制是定位界面不变问题的前提。实际开发中,常见原因往往集中在增量构建未触发、qmake或CMake配置未刷新、旧进程残留、构建目录指向错误等环节。对于采用CMake的工程,还需关注AUTOUIC对.ui文件的扫描规则;而qmake项目则需确保执行qmake以更新 阅读详情
AI摘要

针对Qt界面设计中常见的界面不更新问题,本文深入分析其原因,并提供两种解决方案:一是直接替换源码目录中的ui_mainwindow.h文件;二是修改.pro文件路径,确保编译时引用最新界面文件。

问题描述

在使用Qt进行界面设计时,我们经常要修改界面,但有时会莫名其妙的遇到明明修改了界面,运行后界面不更新的问题。初学者遇到这类问题时,往往不知所措,百度也不太容易找到解决办法,通常是重新构建、Debug和Release切换、qmake等各种方式搭配使用,但并不一定解决问题。本文从问题分析入手,帮助大家理解并解决问题。

问题分析

在分析问题前,我们先看下Qt源码和生成文件的目录中,有关界面文件的结构。假设我们选择的是Release编译,勾选Shadow build,如下图所示,会在源码所在根目录自动生成一个Release文件夹,所有的生成文件都会存放在该文件,包括应用程序.exe
【项目选项】,勾选Shdow build
生成的目录
在这里,请注意,我们要关注的目标是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,即可解决问题。操作步骤:

  1. .pro文件,增加 UI_DIR=./UI,是的UI路径指向相对路径(MinGW_32bit-Release目录),该目录的ui_mainwindow.h实时更新;
  2. 删除源码目录中的ui_mainwindow.h;
  3. 清理项目,重新qmake,重新构建。
    == 注意:若Debug中有文件,也一并清理或手动删除==
    清理项目与重新构建

至此,以后再不会被界面不更新的问题困扰。

Qt开发: Qt界面编译后没有及时更新 问题说明: 在qt 界面设计时,发现编译后界面没有及时更新,而且源码下的ui_*.h文件也没有更新,最后发现问题所在 原因:      我更改了编译目录,刚开始的默认编译目录名称太长,所以我改了,没想到会造成这样的问题,正确的方法是选择项目文件夹,如果是自定义目录可能会有这个样的问题 阅读详情

相关推荐

【正点原子I.MX6U-MINI移植篇】Ubuntu-base根文件系统移植构建过程详解(四)

能不能在ARM板上运行Ubuntu呢?答案肯定是可以的,Ubuntu是Linux系统的一种,可以简单的将Ubuntu理解为一个根文件系统,和我们用busybox、buildroot制作的根文件系统一样。因此移植Ubuntu也就是将Ubuntu根文件系统移植到我们的开发板上。

果果小师弟的博客 3767

QT ui界面修改后不更新

尝试2: 删除build-XXXX-Desktop_Qt_5_12_6_MSVC2017_64bit-Debug。尝试3:删除makefile、 Makefile.Debug等文件,重新qmake rebuild 依然不管用。注意: 如果界面不再变动,或者变动比较小时,建议勾选上,这样会加速编译。在ui界面重新修改布局后,debug模式下发现ui界面没有更新。尝试1:qmake rebuild发现ui界面都没有更新。尝试4:将红色框中去掉勾选,就会重新编译ui文件。ui界面修改后不更新。

u012719076的博客 5215

Orcad 17.2导出PDF原理图终极指南:从Ghostscript安装到带属性书签配置

本文是Orcad 17.2导出高质量PDF原理图的终极指南。针对导出过程中常见的Ghostscript安装报错、软件卡死及版本兼容性问题,提供了详细的解决方案。重点推荐使用Ghostscript 9.53.3版本以确保最佳兼容性,并深入讲解了从安装配置、内存优化到高级书签属性设置的完整流程,帮助硬件工程师稳定、高效地生成带完整器件属性和导航书签的PDF文档。

weixin_29281915的博客 393

QT之修改ui界面程序不识别或者运行后没变化

QT之修改ui界面程序不识别或者运行后没变化

m0_60815231的博客 7390

OpenHarmony 4.1/5.0 Beta上手:如何用ArkUI在非华为设备上开发你的第一个“鸿蒙”应用

本文详细介绍了如何在非华为设备上使用ArkUI开发OpenHarmony应用,涵盖从设备选型、环境搭建到应用部署的全流程。通过实战案例展示ArkTS语言在开源鸿蒙生态中的应用,帮助开发者突破设备限制,构建跨平台鸿蒙应用。

weixin_33704234的博客 364

复现论文《Analysis of circulating current mechanism of Grid-forming offshore wind farm based on DRU-HVDC》

该论文研究了基于二极管整流单元(DRU)和低频交流(LFAC)输电的构网型(GFM)海上风电场并网系统中环流的产生机理。由于 DRU 不可控,系统电压与频率依赖于风力发电机(WT)的网侧变流器,当多台 WT 并联运行时,因输出电压幅值、相位、输出阻抗或频率不匹配,会产生基频环流,导致系统损耗增加与稳定性下降。论文通过理论建模与 MATLAB/Simulink 仿真,分析了四种不平衡工况下的环流机理,并指出幅值不平衡和阻抗不平衡引起无功环流,相位不平衡引起有功环流,频率不平衡则引起环流振荡,为后续环流抑制研究

huanghm88的专栏 104

QT修改UI界面然后运行不显示修改后的结果

qt ui修改后重新构建就能使程序运行修改后的界面

qq_52234931的博客 999

多传感器标定:如何统一摄像头、雷达与IMU坐标?

多传感器标定:如何统一摄像头、雷达与IMU坐标?​ ,人工智能,计算机视觉,大模型,AI,本文详细阐述多传感器标定中统一摄像头、雷达与 IMU 坐标的方法。先介绍传感器坐标系统、坐标统一必要性及变换数学基础,再分述摄像头与雷达、IMU 与摄像头、IMU 与雷达的标定原理、步骤、参数计算及结果验证,还讲解了多传感器坐标统一的整体流程,分析了标定常见问题及解决办法,介绍了常用标定工具,结合实际案例说明应用,探讨了标定精度的影响因素、提升方法及发展趋势,为相关领域提供了全面的多传感器标定指导。​

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 12万+

qt界面ui改变编译却不更新问题解决方法

一、前言 有的时候改了qt界面重新编译之后却不更新,怎么整都不好使,很难受,其实这种情况基本就有一种可能,就是程序本身在一个地方编译,然后更换了另一台设备,或者另一个地址,在重新编译,但是界面的ui指向的是原路径ui.cpp。所以无论怎么整无法解决问题,今天就一起来解决一下子。 二、环境 qt512 windows10 三、正文 一开始程序里是这些 + 换了外部的新路径之后,导致ui_mainwindow.h无法更新,但是系统界面指向这个,问题的最快解决办法就是把对应无变化的界面(比

kbq的博客 1万+

23、OpenMP常见用例与标准循环级示例详解

本文详细介绍了OpenMP的三种典型用例:循环级OpenMP、高级OpenMP和MPI+OpenMP,适用于不同层次的并行需求。重点讲解了循环级OpenMP在向量加法、流三元组和模板计算中的应用示例,并探讨了首次触摸优化、线程绑定、NUMA架构影响等关键性能优化策略。通过实际代码演示和性能分析,帮助开发者快速掌握OpenMP的基础并行化方法,并为后续高性能优化提供指导。

fanta的博客 85

基于机器学习的电视剧类型点击量数据分析研究

1. 背景介绍 1.1 流媒体平台的兴起与电视剧市场的繁荣 近年来,随着互联网技术的飞速发展,流媒体平台如Netflix、Disney+、腾讯视频等迅速崛起,成为人们观看影视内容的主要渠道。电视剧作为流媒体平台上的重要内容类型,其点击量数据蕴含着丰富的用户偏好和市场趋势信息。

AI天才研究院 1050

解决QT中UI控件布局更改后运行结果没有发生变化的问题

2.在project中的Shadow build小方框中取消勾选,再运行(Ctrl+R)就可以更新UI布局了,且运行结果就与UI中的布局一致了。在学习QT中,遇到了一个问题,那就是当我UI中更改了控件布局后,运行的结果却并没有发生改变,于是我上网查找了一些资料,大多略显麻烦。1.首先在项目文件中找到UI文件并删除(绿色标记文件)效果如下:这是UI控件更改布局后。显然,UI文件中并没有更新。

m0_56098506的博客 4991

【笔记篇】Davinci Configurator BswM模块

AUTOSAR BSWM模块配置介绍

weixin_47571898的博客 1534

QT在编译运行界面不更新

记录自己在使用qt界面设计时,ui界面已经更改但是在运行编译的时候界面没更新问题。

m0_68216188的博客 522

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Qt 编译运行后界面不更新(转)

问题描述 在使用Qt进行界面设计时,我们经常要修改界面,但有时会莫名其妙的遇到明明修改了界面,运行后界面不更新的问题。初学者遇到这类问题时,往往不知所措,百度也不太容易找到解决办法,通常是重新构建、Debug和Release切换、qmake等各种方式搭配使用,但并不一定解决问题。本文从问题分析入手,帮助大家理解并解决问题。 问题分析 在分析问题前,我们先看下Qt源码和生成文件的目录中,有关界面文...

wei375653972的博客 3770

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

QT工程打开、编译、运行流程

这篇文章介绍QT的工程如何使用。 目前设计的很多的物联网项目的APP都是采用Qt开发的。很多同学对Qt比较陌生,不知道如何使用QT。

8705

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

qt creator ui界面修改后运行不产生作用(本质分析)

我们用qtcreator可能好好的,但是偶然间,修改界面文件,运行后某些ui文件就不产生效果了。我是因为直接复制了别的ui文件,然后改名的,导致了这也的现象。直接把解决方法先说出来:删除Makefile文件即可。下面我们来从原理上本质性的分析这个问题。

biao2488890051的博客 1万+

qt运行代码不更新问题

一、问题 之前和小伙伴们一起学习用qt编译的时候,被一个问题坑了好长时间。 把代码改完之后,运行的结果没有变化,我们一直以为是代码的问题,调了好长时间的参数,最后才发现原因竟然是他没有更新。 当然,这个问题不是总是出现的,偶尔会出现,但是代码太多了,这个问题就贼恶心。 二、解决方法 最简单的方法就是去项目里面找到shadow build 然后把对号勾掉就行了 这样就行了。 三、原因与相关知识 主要...

qq_45049586的博客 2658

QT creator开发环境下 界面更改后运行程序不能实时更新或者在源文件添加该控件后无法编译的问题

错误说明 在使用QT Creator开发界面的过程中,偶尔会出现添加控件后,运行程序后,界面控件无法更新的情况,或者在源文件使用该控件却出现无法编译的情况,使用QT Creator 4.8.2也会出现这个情况,也不知道这种情况会不会在以后有所改善。 解决办法 我这里只是整理网上常见的2种处理方式,不是自己摸索出来的。 1 .参考其他的博文 QT Creator无法实时更新界面控件,感觉有点麻烦,不太喜欢。 2.这种方法可能更容易接受。步骤包括以下2步 (1).打开工程界面的Projects的设置部分,如下图

C++ 开发者的博客 2454

Qt开发,在UI中改变内容后,编译运行显示界面却没有变化的解决方法

在QT开发过程中,在UI界面中改变了对应控件的位置和大小,编译运行却发现界面没有变化,如何解决,只需要一个设置就可轻松搞定。如下图所示。

better1002的博客 2351

qt 线程更新UI界面

ui操作必须在主线程做的,分支线程只能发送消息给主线程进行引导操作 想在别的线程刷新UI,可以发送事件给UI线程,通知它更新。 或者在线程内的worker对象上定义一个信号,连接到Widget的update()上,然后你在合适的时候emit 你的信号即可。 在做QT编程的时候,有一点很重要的就是一个QT进程只能有一个UI线程,而且所有关于UI的操作只能在这个线程上进行。   

烟台 嵌入式产品开发 1万+

运行qt编译的程序,必须安装qt吗

运行qt编译的程序,必须安装qt吗

xie__jin__cheng的博客 1245

QT Creator 使用 designer 修改 ui界面编译后,编译时界面不更新

http://blog.youkuaiyun.com/cokewei/article/details/6639960今日遇到一个奇怪的问题,描述如题。网上搜索了一些解决方案,说的不是很清楚,经过一些时间的摸索,这里总结一下解决方法。ui源文件到界面显示的原理可以网上搜索,这里不再描述。简单讲就是先要从*.ui生成ui_*.h然后再编译,所以界面未更新实际上是因为ui_*.h这个文件没有更新导致的。出现此问题后...

weixin_42121713的博客 7121

Qt交叉编译运行记录

Qt交叉编译, 参考:https://blog.youkuaiyun.com/hl1796/article/details/90205218 实例:codefair 开发平台配置qt交叉编译环境: 1、确定交叉工具链安装位置,由于之前进行linux开发时已经安装过,故不需重复安装,工具链位置:/mnt/data/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin 注:工具链下载地址:https://www.linaro.org/downloads/ 主要版本如下: 2、

Vanceshun的博客 5628
上一篇: Qt软件应用程序打包详解(Inno Setup)
下一篇: Qt问题集锦:启动界面太大,超出桌面,或进入任务栏
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值