在QT设计器中用户界面没有更新

时间:2019-05-09 04:14:15

标签: c++ qt qt-designer

最近,我开始学习用于在C ++中开发GUI应用程序*的QT框架。到现在为止,QT创建者的一切都很好,但是当我尝试使用CSS样式表更改元素的背景颜色时,QT UI设计器不会得到更新。而且,即使在编写代码时,QT也不会在屏幕上检测到我新添加的控件。这是显示此问题的GIF。

enter image description here

我也不知道QT是否能正常工作,但是在表单上添加元素后,除非再次构建它,否则无法立即通过代码中的对象名称访问该元素

Object name not accessible in code before building

这是我的QT详细信息

enter image description here

如果我在某个地方出错或犯了任何错误,请原谅我,我是Visual Studio,并且在使用QT方面很新。

注意:我之所以问第二个问题,是因为我在QT小部件上看到了很多教程视频,添加后可以在代码中立即访问该对象。

也是我第一次使用它时,它确实起作用了。但是从那以后设计者就没有更新

1 个答案:

答案 0 :(得分:1)

这非常容易。我只需要将border属性更改为任何值,就可以立即看到更改。我猜这是因为边界造成的。

这是一个gif,可以向您显示... enter image description here

关于mainwindow.ui与ui_mainwindow.h文件不匹配的问题,解决方案非常简单,构建目录和工作目录都包含一个名为ui_mainwindow.h的文件。删除工作目录中的一个文件并进行宾果游戏。

感谢此QT论坛的帖子 [Solved] What would cause a mainwindow.ui file not to match with it ui_mainwindow.h file?

注意:无论何时构建或运行项目,都会再次生成ui _ *。h文件,使您一次又一次删除文件。一种解决方案是在构建项目后在工作目录中添加一个makefile,该文件会自动删除ui _ *。h文件(构建步骤后)。这是它的步骤。

第1步::创建一个名为 deleteUI_header.mk 的makefile,并向其添加以下代码,如下图所示

makefile

步骤2:将文件保存在项目的工作目录中。

enter image description here

步骤3:现在,在QT中打开项目,然后单击左侧的项目标签。在构建设置->构建步骤下,点击添加构建步骤->制作

enter image description here

现在使用 make (确保make的位置位于PATH环境变量中)覆盖 jom.exe ,并提供以下make参数

-f deleteUI_header.mk

enter image description here

现在,无论何时构建项目,生成的ui头文件都会被自动删除。 `