Qt 修改自动生成的 ui类名的方法和步骤

在修改Qt 自动生成的 ui类名时,可能会出现的错误

abcwidget.cpp:29:12: error: allocation of incomplete type 'Ui::AbcWidget'
abcwidget.h:17:7: note: forward declaration of 'Ui::AbcWidget'

修改方法

Refactor---rename----法, 以及手动修改法;

需要用到内置编辑器,以及外部编辑器。

在修改 ui文件时,需要使用外部编辑器,才能修改。内部编辑器无效?

步骤

1. 修改命名空间

namespace Ui {
class AbcWidget; //"AbcWidget": 在 Qt Creator中自动修改, Refactor---rename
}

2. 修改类名
class AbcWidget : public QWidget  //"AbcWidget": 在 Qt Creator中自动修改, Refactor---rename
{...}

3.1. 手动修改自动生成的 ui_xxx.h头文件
#include "ui_abcwidget.h" //"ui_abcwidget.h":  手动修改,注意 Qt官方默认的命名规则,文件名“小写”。

3.2. ui的头文件名等,如 abcwidget.h头文件
相应的 .h/.cpp文件名,可能也需要 手动修改。

4. 在外部编辑器修改设计师 ui文件
abcwidget.ui


 AbcWidget //"AbcWidget":  手动修改,需要在外部的编辑器中才能修改。
 AbcWidget"> //"AbcWidget":  手动修改,需要在外部的编辑器中才能修改。

注意:Qt5

自动生成的 ui 文件,文件名和类名,是有密切的关联关系的,不能随意更改。当然,不是自动生成的,则可由用户自行决定。

1. abcwidget.h /.cpp  --->>>自动生成 >>>ui_abcwidget.h /abcwidget.ui 。

2. class AbcWidget  会在 abcwidget.ui 文件中自动包含。

3. 命名空间及相关需要单独修改。

你可能感兴趣的:(linux,qt,ui,开发语言)