• 7517阅读
  • 4回复

[提问]请帮忙看一下这是什么错:invialid use of incomplete type 'struct  Ui : : MyPage1' [复制链接]

上一主题 下一主题
离线永恒国度
 
只看楼主 倒序阅读 楼主  发表于: 2011-03-03
invialid use of incomplete type 'struct  Ui : : MyPage1'
离线wxr159835
只看该作者 1楼 发表于: 2011-03-04
非法使用不完全类型的方法“struct  Ui : : MyPage1“
离线kimtaikee

只看该作者 2楼 发表于: 2011-03-04
类型没有定义,确定你包含了必要的头文件

离线永恒国度
只看该作者 3楼 发表于: 2011-03-04
下面是源程序代码,帮忙看一下

main.cpp
#include <QtGui/QApplication>

#include "ziliao.h"


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
    ziliao w;
    w.show();

    return a.exec();
}

MyPage.cpp
#include "MyPage.h"

#include "ziliao.h"

MyPage1::MyPage1(QWidget *parent) :
   QWidget(parent),ui(new Ui::MyPage1)
{


    NameLabel=new QLabel(tr("Name : "));
    ProvinceLabel=new QLabel(tr("Province : "));
    ViewLabel=new QLabel(tr("Main View : "));

    NameEdit=new QLineEdit(tr("AA1"));
    ProvinceEdit=new QLineEdit(tr("BB1"));
    ViewEdit=new QLineEdit(tr("CC1"));
}



MyPage2::MyPage2(QWidget *parent)
    :QWidget(parent),ui(new Ui::MyPage2)
{


    NameLabel=new QLabel(tr("Nmae : "));
    ProvinceLabel=new QLabel(tr("Province : "));
    ViewLabel=new QLabel(tr("Main View : "));

    NameEdit=new QLineEdit(tr("AA2"));
    ProvinceEdit=new QLineEdit(tr("BB2"));
    ViewEdit=new QLineEdit(tr("CC2"));
}



MyPage3::MyPage3(QWidget *parent)
    :QWidget(parent),ui(new Ui::MyPage3)
{


    NameLabel=new QLabel(tr("Name : "));
    ProvinceLabel=new QLabel(tr("Province : "));
    ViewLabel=new QLabel(tr("Main View : "));

    NameEdit=new QLineEdit(tr("AA3"));
    ProvinceEdit=new QLineEdit(tr("BB3"));
    ViewEdit=new QLineEdit(tr("CC3"));
}


ziliao.cpp
#include "ziliao.h"
#include "ui_ziliao.h"
#include<QIcon>
#include "MyPage.h"

ziliao::ziliao(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::ziliao)
{
    ui->setupUi(this);

    list=new QListWidget;
    list->setIconSize(QSize(256,128));
    list->setSpacing(12);
    list->setViewMode(QListView::IconMode);//从左到右排列
    //list->setViewMode(QListView::ListMode);//从上到下排列,是默认状态
    list->setMaximumWidth(150);//设置列表框最大宽度
    list->setMovement(QListView::Static); //图片静止,不可随便移动

    QListWidgetItem *item1=new QListWidgetItem;
    item1->setIcon(QIcon(":/a.png"));
    item1->setText(tr("第一张"));

    QListWidgetItem *item2=new QListWidgetItem;
    item2->setIcon(QIcon(":/b.png"));
    item2->setText(tr("第二张"));

    QListWidgetItem *item3=new QListWidgetItem;
    item3->setIcon(QIcon(":/c.png"));
    item3->setText(tr("第三张"));

    list->addItem(item1);
    list->addItem(item2);
    list->addItem(item3);

    QPushButton *btn=new QPushButton;    
    connect(btn,SIGNAL(clicked()),this,SLOT(close()));
    btn->setText(tr("关闭"));

    QVBoxLayout *hlayout=new QVBoxLayout;
    hlayout->addWidget(list);
    QGridLayout *mainlayout=new QGridLayout(this);
    mainlayout->addLayout(hlayout,0,0,1,6);
    mainlayout->addWidget(btn,1,0,1,1);


    this->resize(600,400);

}

ziliao::~ziliao()
{
    delete ui;
}

ziliao.h
#ifndef ZILIAO_H
#define ZILIAO_H

#include <QWidget>

#include <QListWidget>
#include <QListWidgetItem>
#include <QVBoxLayout>
#include <QTextCodec>
#include <QPushButton>

#include "MyPage.h"

namespace Ui {
    class ziliao;
}

class ziliao : public QWidget
{
    Q_OBJECT

public:
    explicit ziliao(QWidget *parent = 0);
    ~ziliao();
    QListWidget *list;

private:
    Ui::ziliao *ui;

};

#endif // ZILIAO_H


MyPage.h
#ifndef MYPAGE_H
#define MYPAGE_H

#include <QtGui/QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QGridLayout>

namespace   Ui
{
    class MyPage1;
    class MyPage2;
    class MyPage3;
}

class MyPage1 : public QWidget
{
    Q_OBJECT;

public:
    explicit MyPage1(QWidget *parent=0);
    ~MyPage1();

    QLabel *NameLabel,*ProvinceLabel,*ViewLabel;
    QLineEdit *NameEdit,*ProvinceEdit,*ViewEdit;

private:
    Ui::MyPage1 *ui;
};

class MyPage2 : public QWidget
{
    Q_OBJECT;

public:
    explicit MyPage2(QWidget *parent=0);
    ~MyPage2();

    QLabel *NameLabel,*ProvinceLabel,*ViewLabel;
    QLineEdit *NameEdit,*ProvinceEdit,*ViewEdit;

private:
    Ui::MyPage2 *ui;

};

class MyPage3 : public QWidget
{
    Q_OBJECT;

public:
    explicit MyPage3(QWidget *parent=0);
    ~MyPage3();

    QLabel *NameLabel,*ProvinceLabel,*ViewLabel;
    QLineEdit *NameEdit,*ProvinceEdit,*ViewEdit;

private:
    Ui::MyPage3 *ui;
};

#endif // MYPAGE_H
离线永恒国度
只看该作者 4楼 发表于: 2011-03-04
回 2楼(kimtaikee) 的帖子
下面是源程序代码,帮忙看一下

main.cpp
#include <QtGui/QApplication>

#include "ziliao.h"


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
    ziliao w;
    w.show();

    return a.exec();
}

MyPage.cpp
#include "MyPage.h"

#include "ziliao.h"

MyPage1::MyPage1(QWidget *parent) :
   QWidget(parent),ui(new Ui::MyPage1)
{


    NameLabel=new QLabel(tr("Name : "));
    ProvinceLabel=new QLabel(tr("Province : "));
    ViewLabel=new QLabel(tr("Main View : "));

    NameEdit=new QLineEdit(tr("AA1"));
    ProvinceEdit=new QLineEdit(tr("BB1"));
    ViewEdit=new QLineEdit(tr("CC1"));
}



MyPage2::MyPage2(QWidget *parent)
    :QWidget(parent),ui(new Ui::MyPage2)
{


    NameLabel=new QLabel(tr("Nmae : "));
    ProvinceLabel=new QLabel(tr("Province : "));
    ViewLabel=new QLabel(tr("Main View : "));

    NameEdit=new QLineEdit(tr("AA2"));
    ProvinceEdit=new QLineEdit(tr("BB2"));
    ViewEdit=new QLineEdit(tr("CC2"));
}



MyPage3::MyPage3(QWidget *parent)
    :QWidget(parent),ui(new Ui::MyPage3)
{


    NameLabel=new QLabel(tr("Name : "));
    ProvinceLabel=new QLabel(tr("Province : "));
    ViewLabel=new QLabel(tr("Main View : "));

    NameEdit=new QLineEdit(tr("AA3"));
    ProvinceEdit=new QLineEdit(tr("BB3"));
    ViewEdit=new QLineEdit(tr("CC3"));
}


ziliao.cpp
#include "ziliao.h"
#include "ui_ziliao.h"
#include<QIcon>
#include "MyPage.h"

ziliao::ziliao(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::ziliao)
{
    ui->setupUi(this);

    list=new QListWidget;
    list->setIconSize(QSize(256,128));
    list->setSpacing(12);
    list->setViewMode(QListView::IconMode);//从左到右排列
    //list->setViewMode(QListView::ListMode);//从上到下排列,是默认状态
    list->setMaximumWidth(150);//设置列表框最大宽度
    list->setMovement(QListView::Static); //图片静止,不可随便移动

    QListWidgetItem *item1=new QListWidgetItem;
    item1->setIcon(QIcon(":/a.png"));
    item1->setText(tr("第一张"));

    QListWidgetItem *item2=new QListWidgetItem;
    item2->setIcon(QIcon(":/b.png"));
    item2->setText(tr("第二张"));

    QListWidgetItem *item3=new QListWidgetItem;
    item3->setIcon(QIcon(":/c.png"));
    item3->setText(tr("第三张"));

    list->addItem(item1);
    list->addItem(item2);
    list->addItem(item3);

    QPushButton *btn=new QPushButton;    
    connect(btn,SIGNAL(clicked()),this,SLOT(close()));
    btn->setText(tr("关闭"));

    QVBoxLayout *hlayout=new QVBoxLayout;
    hlayout->addWidget(list);
    QGridLayout *mainlayout=new QGridLayout(this);
    mainlayout->addLayout(hlayout,0,0,1,6);
    mainlayout->addWidget(btn,1,0,1,1);


    this->resize(600,400);

}

ziliao::~ziliao()
{
    delete ui;
}

ziliao.h
#ifndef ZILIAO_H
#define ZILIAO_H

#include <QWidget>

#include <QListWidget>
#include <QListWidgetItem>
#include <QVBoxLayout>
#include <QTextCodec>
#include <QPushButton>

#include "MyPage.h"

namespace Ui {
    class ziliao;
}

class ziliao : public QWidget
{
    Q_OBJECT

public:
    explicit ziliao(QWidget *parent = 0);
    ~ziliao();
    QListWidget *list;

private:
    Ui::ziliao *ui;

};

#endif // ZILIAO_H


MyPage.h
#ifndef MYPAGE_H
#define MYPAGE_H

#include <QtGui/QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QGridLayout>

namespace   Ui
{
    class MyPage1;
    class MyPage2;
    class MyPage3;
}

class MyPage1 : public QWidget
{
    Q_OBJECT;

public:
    explicit MyPage1(QWidget *parent=0);
    ~MyPage1();

    QLabel *NameLabel,*ProvinceLabel,*ViewLabel;
    QLineEdit *NameEdit,*ProvinceEdit,*ViewEdit;

private:
    Ui::MyPage1 *ui;
};

class MyPage2 : public QWidget
{
    Q_OBJECT;

public:
    explicit MyPage2(QWidget *parent=0);
    ~MyPage2();

    QLabel *NameLabel,*ProvinceLabel,*ViewLabel;
    QLineEdit *NameEdit,*ProvinceEdit,*ViewEdit;

private:
    Ui::MyPage2 *ui;

};

class MyPage3 : public QWidget
{
    Q_OBJECT;

public:
    explicit MyPage3(QWidget *parent=0);
    ~MyPage3();

    QLabel *NameLabel,*ProvinceLabel,*ViewLabel;
    QLineEdit *NameEdit,*ProvinceEdit,*ViewEdit;

private:
    Ui::MyPage3 *ui;
};

#endif // MYPAGE_H
快速回复
限100 字节
 
上一个 下一个