在学习QT开发过程中,QT编译出现报错,报错代码行包含(incomplete type ‘Ui::ARwindow‘ )
报错原因:UI文件 objectName 为默认值 "Form" 与 调用值 ”ARwindow“ 不一致
最终解决方法:在"arwindow.ui" 中修改 objectName 为 ”ARwindow“
总结:新建QT窗口对象,尽量同步新建.ui .cpp .h文件;单独新建ui文件时,需要检查调用名称是否一致。
报错及解决过程:
1.先通过添加c++文件,建立arwindow.cpp及arwindow.h文件。
2.单独新建 arwindow.ui。
arwindow.h
#ifndef ARWINDOW_H #define ARWINDOW_H #include#include QT_BEGIN_NAMESPACE namespace Ui{class ARwindow;} QT_END_NAMESPACE class ARwindow : public QWidget { Q_OBJECT public: explicit ARwindow(QSqlDatabase *ptDatabase,QWidget * parent = nullptr); ~ARwindow(); Ui::ARwindow * ui ; signals: }; #endif // ARWINDOW_H
arwindow.cpp
#include "arwindow.h"
#include "ui_arwindow.h"
ARwindow::ARwindow(QSqlDatabase *ptDatabase, QWidget *parent)
: QWidget{parent},
ui(new Ui::ARwindow) //报错位置一,报错内容含 incomplete type 'Ui::ARwindow'
{
ui->setupUi(this); //报错位置一,报错内容含 incomplete type 'Ui::ARwindow'
}
ARwindow::~ARwindow()
{
delete ui;
}
3.点击arwindow.ui,在设计界面右下角 修改objectName值
objectName 为默认值 "Form",修改为”ARwindow“,与调用名称保证一致
4.重新编译,报错消失。



