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
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>AbcWidget</class> //"AbcWidget":  手动修改,需要在外部的编辑器中才能修改。
 <widget class="QMainWindow" name="AbcWidget"> //"AbcWidget":  手动修改,需要在外部的编辑器中才能修改。

注意:Qt5

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

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

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

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值