赞
踩
头文件:
#ifndef LOGIN_H
#define LOGIN_H
#include <QWidget>
namespace Ui {
class Login;
}
class Login : public QWidget
{
public:
explicit Login(QWidget *parent = nullptr);
signals:
private:
Ui::Login *ui;
};
#endif // LOGIN_H
cpp文件:
#include "login.h"
#include "ui_login.h"
Login::Login(QWidget *parent)
: QWidget(parent),
ui(new Ui::Login)
{
ui->setupUi(this);
}
编译始终报错:invalid use of incomplete type class Ui::Login,啥情况,该包含的ui_.h文件也包含了,也setup了,流程一个都不少,真扎心,难道一上午辛辛苦苦弄得login.ui文件白费力,要重新弄不带UI的吗?
报上面的问题,说明Ui::Login编译器不认识。
解决方法是在其对应的ui文件中,整个界面的ObjectName没有进行更改,打开其对应的ui文件,果然发现objectname还是原始的form,将其ObjectName更改为Login即可。ObjectName即是在Designer界面下,选中控件后右边属性框的前列,修改名称后,重新编译,发现编译成功。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。