我按照书上说的做一个简单的销售车辆管理的界面,只做了一部分,编译报错invalid use of incomplete type 'class Ui :: Widget',请高手帮忙看看,应该不复杂,我是新手。卡在这里了。多谢多谢!
widget.h
-----------------------
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QMenuBar>
#include <QMainWindow>
namespace Ui {
class Widget;
}
class Widget : public QMainWindow
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
QMenu *salesMgtMenu;
QMenu *pwdMenu;
QAction *salesMgtAction;
QAction *chartAction;
QAction *quitAction;
private slots:
void on_salesMgtMenu_click();
void on_chartMenu_click();
void on_quitMenu_click();
private:
Ui::Widget *ui;
void createMenuBar();
};
void Widget::createMenuBar()
{
salesMgtAction = new QAction (tr("品牌车管理"),this);
chartAction = new QAction (tr("销售统计图表"),this);
quitAction = new QAction (tr("exit"),this);
salesMgtMenu = menuBar()->addMenu(tr("销售管理"));
salesMgtMenu ->addAction(salesMgtAction);
salesMgtMenu ->addAction(chartAction);
salesMgtMenu ->addAction(quitAction);
pwdMenu = menuBar()->addMenu(tr("修改密码"));
connect (salesMgtAction,SIGNAL(triggered()),this, SLOT(on_salesMgtMenu_click()));
connect (chartAction,SIGNAL(triggered()),this, SLOT(on_chartMenu_click()));
connect (quitAction,SIGNAL(triggered()),this, SLOT(on_quitMenu_click()));
}
void Widget::on_salesMgtMenu_click()
{
ui->stackedWidget->setCurrentIndex(0); //此处报错 invalid use of incomplete type 'class Ui :: Widget'
}
void Widget::on_chartMenu_click()
{
ui->stackedWidget->setCurrentIndex(1); //此处报错 invalid use of incomplete type 'class Ui :: Widget'
}
void Widget::on_quitMenu_click()
{
this->close();
}
#endif // WIDGET_H
-------------------------------------------
widget.cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
createMenuBar();
}
Widget::~Widget()
{
delete ui;
}
---------------------------------------