开发环境
Windows Qt C++(Qt Creator 5.x.x)
问题描述
- 新增了一个控件(按键、文本框),运行程序时与设计程序的样式不一致,生成的界面程序没有出现增加的控件,使用Ui->无法访问到对象,但从UI文件看,是增加成功了。
- 删除了一个控件(按键、文本框),运行程序时与设计程序的样式不一致,生成的界面程序还显示删除掉的控件,使用Ui->能访问到对象,但从UI文件看,是删除成功了。
- Qt 新设计的布局没有生效,且在不停地调整,总发现无法达到布局的目标效果
- Qt刚设置的qss样式表没有效果,不论如何调整就是没有变化
解决方法
pro文件中使用以下代码,重新构建,会清除ui_*.h文件
win32:CONFIG(debug,debug|release){
#加入debug库
UI_DIR=./debug
}
win32:CONFIG(release,debug|release){
#加入release库
UI_DIR=./release
}
也可以这样写
//设置为和输出目录一致
win32:CONFIG(debug,debug|release){
#加入debug库
UI_DIR= debug
}
win32:CONFIG(release,debug|release){
#加入release库
UI_DIR= release
}
问题原因
qt设计原因,构建选项中,生成的Ui_*.h文件生成在源文件目录,使用清除时候,Qt无法找到正确目录进行删除,需要手动清除ui_*.h这些文件,删除后,重新构建,新增的控件会出现在你设计的地方,删除的控件会正确消失。
这也是Qt新手经常遇到的问题,Qt开始总是莫名其妙出问题,有时候莫名其妙又好了的起因。
杂记(20240621补充)
有时候界面按照各种方式都无法达到效果时候,应该关闭计算机,下班,第二天再来或者隔断时间,说不定马上解决了。
有时候确实是技术不达标,还需要多钻研。
有时候真的是Qt自身的缺陷。