Qt如何解决创建新界面ui过程中出现的报错error: allocation of incomplete type ‘Ui::‘

在Qt项目中添加新文件时,未一次性添加.h,.cpp,.ui导致UI基类命名问题。由于先创建的.h和.cpp文件,UI的objectName设为了Form,而非所需的Banana。修正方法是将objectName从apple更改为Banana,从而消除错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近的项目当中,遇到了这样的报错error: allocation of incomplete type ‘Ui::‘   ,排错了近1小时。

这里说一下我这边是因为在项目当中添加新文件时没有选择设计师界面(一下子把.h  .cpp  .ui全填入工程),而是一个一个的添加(先.h,再.cpp再.ui)。便导致了创建ui过程中默认了ui界面的基类QObejct的name为“Form”,而没有在构造函数当中初始化

可以看到该属性objectName为apple,与Banana不符合,因此无效,这边只需我们将该名字改为"Banana”即可。

将apple改为Banana

 可以看到刚刚的报错已经消除!