QT Creator 使用 design 修改 ui界面编译后界面未更新问题的解决 From EricQu
2015-07-29 08:09
633 查看
今日遇到一个奇怪的问题,描述如题。
网上搜索了一些解决方案,说的不是很清楚,经过一些时间的摸索,这里总结一下解决方法。
ui源文件到界面显示的原理可以网上搜索,这里不再描述。简单讲就是先要从*.ui生成ui_*.h然后再编译,所以界面未更新实际上是因为ui_*.h这个文件没有更新导致的。
出现此问题后我尝试了以下几个方法:
1,在生成目标的文件夹内找到ui_*.h,复制到源代码文件夹内覆盖原来文件,成功
2,删除源代码文件夹内ui_*.h后,clear all 然后再重新编译,失败。
3,uic *.ui -o ui_*.h 失败,生成的ui_*.h是空的
根治的方法:
项目设置文件.pro内增加 UI_DIR=./UI,同时删除掉源代码目录中ui_*.h,clear all,->qmake->rebuilt all
总结:导致ui_*.h文件没有更新的原因是源代码中#include ui_*.h的位置和实际生成的位置不同,引用的是老的ui_*.h,设置UI_DIR后就规定了位置于是不会出错了。
引用请注明原作者与出处。
网上搜索了一些解决方案,说的不是很清楚,经过一些时间的摸索,这里总结一下解决方法。
ui源文件到界面显示的原理可以网上搜索,这里不再描述。简单讲就是先要从*.ui生成ui_*.h然后再编译,所以界面未更新实际上是因为ui_*.h这个文件没有更新导致的。
出现此问题后我尝试了以下几个方法:
1,在生成目标的文件夹内找到ui_*.h,复制到源代码文件夹内覆盖原来文件,成功
2,删除源代码文件夹内ui_*.h后,clear all 然后再重新编译,失败。
3,uic *.ui -o ui_*.h 失败,生成的ui_*.h是空的
根治的方法:
项目设置文件.pro内增加 UI_DIR=./UI,同时删除掉源代码目录中ui_*.h,clear all,->qmake->rebuilt all
总结:导致ui_*.h文件没有更新的原因是源代码中#include ui_*.h的位置和实际生成的位置不同,引用的是老的ui_*.h,设置UI_DIR后就规定了位置于是不会出错了。
引用请注明原作者与出处。
相关文章推荐
- android rawquery和query对照
- VS2015 卡在 LocalESPCui for zh-cn Dev12
- MyGUI 解析
- [Liferay6.2]Liferay Dynamic Query API示例
- Longest Regular Bracket Sequence -括号处理
- Easyui-datagrid groupview分组后勾选问题
- CodeForces 5C - Longest Regular Bracket Sequence
- AutoLayout五、使用Masonry完成UITableViewCell的自适应高度
- hd1509 Windows Message Queue
- (BC 一周年) hdu 5312 Sequence
- Java--break continue
- UITextField 和 UIButton的基本属性和用法
- iOS开发——UI进阶篇(九)block的巧用
- UVA133-The Dole Queue
- Android API Guides 阅读笔记(6)----Task and Back Stack
- poj 1019 Number Sequence
- iOS scrollView及其子类(UITableView等等)内容偏下
- 第70讲:Scala界面GUI编程入门
- IOS UITableView使用自适应表格单元(estimatedCellHeight)在调用scroll时的bug
- UE.getEditor is not a function