今天碰到一个奇葩问题,在QT设计师中,更改了界面上的控件,但是编译出来以后的界面还是老的,无法更新。
比如在这个tablewidget中增加了3个列头,但是在实际编译出来运行,始终只显示2个列。
在经历了各种修改、更新,花式折腾以后,突然想到,界面设计实际上是生成XML文件,由QT的IDE将XML文件转化为界面生成代码并保存在一个.h文件里,最后由cpp调用生成界面对象的。
于是在工程目录下找到ui_xxx.h文件后,用QT的IDE打开,里面果然有完整的界面生成语句
仔细看了一下,这个代码里只生成了2个列,而且不随设计师编辑发生变化。
本来想手动加入,但是想到这个汉子编码的坑...干脆一不做二不休,直接删掉这个文件,让QT重新生成
结果再次编译,问题提示缺少这个.h文件...看来是要杯具了(╥╯^╰╥)
正准备到垃圾桶里去翻文件的时候,突然想到可以重新清除编译一下试试(QT creator很多烂糟问题都可以通过这个手段解决)
于是清除——qmake——构建——重新构建
问题解决!