c++ - QT creator 不更新.ui 文件和设计器

标签 c++ qt

我正在努力在以前使用 QT Creator 创建的 GUI 上添加一些新功能。首先,我尝试从设计器对其进行编辑,但我所做的更改在运行项目时并未显示出来。因此,我从 .h 文件中添加了一些新按钮,并向 .cpp 文件中的按钮添加了一些功能,当我运行项目时它们工作正常,但我所做的更改在设计师。

我尝试禁用影子构建,重建所有,从 .pro 文件中删除 .cpp.h 文件并重新构建, 但它们都不起作用。

我可以做些什么来使我在 .h 文件中所做的更改在设计器中可见吗?

Note: I am using QT Creator 4.9.1 on Windows 10

最佳答案

Qt Designer 仅用于编辑 XML 文件 (.ui)。并且只有对该文件所做的更改在 Qt 设计器中可见。通过代码(在 .cpp 文件中)添加任何 GUI 元素在 Qt 设计器中是不可见的。

那么为什么您在 Qt Designer 中所做的更改不可见?原因可能太多了。我想到的最常见的事情之一是在 Qt Designer 中提升小部件。打开您的 .ui 文件并检查您尝试添加内容的小部件是否实际上是 QWidget、QLabel 等。如果某些东西不是 Qt 基类,那么当 .ui 文件是 MOC 时,您的更改将被覆盖。您还可以查看 MOC 文件以获取有用的信息(自动生成的 ui_something.h)。还涉及多个 .ui 文件吗?尝试向它们添加一些东西,看看如果您运行该项目会发生什么。

编辑:我在 .h 文件中所做的更改 到底是什么意思?如果您指的是自动生成的 ui_something.h,它会在您构建项目后立即被覆盖。

关于c++ - QT creator 不更新.ui 文件和设计器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56865614/

相关文章:

linux - 在 Linux 上不使用 Qt 运行我的应用程序

c++ - 使用 boost 格式化负数

C++ vector 中 vector 的动态分配?

c++ - 通过访问函数使用重载的 operator[]

c++ - 对从命令行获取文件名并将其填充到 C++ 感到困惑

c++ - 编译器看不到 QX11Info

c++ - 使用 qt 浏览、列出和删除文件

c++ - 为 STD vector<bool> 模板特化预留容量

c++ - QLineEdit:将光标位置设置为焦点开始

c++ - 将 cocos2d 移植到 Qt