• 5411阅读
  • 1回复

关于窗体的显示隐藏问题? [复制链接]

上一主题 下一主题
离线leegoo
 
只看楼主 倒序阅读 楼主  发表于: 2010-04-13
写下面的代码的目的是点击窗体MainWindow上的按钮,弹出窗体loginform,并隐藏窗体MainWindow。然后点击loginform上的按钮,关闭窗体loginform并打开MainWindow。
但是运行之后报错。(我在MainWindow中定义了一个static的MainWindow类型的变量mwin,并在Mainwindow的构造函数中初始化。。。。后面的不写了,各位看下面的代码)
错误:undefined reference to `MainWindow::mwin'   ----------MainWindow.cpp
            undefined reference to `MainWindow::mwin'   ----------Loginform.cpp
            error: collect2: ld returned 1 exit status

class MainWindow : public QMainWindow {
    Q_OBJECT
public:
    static MainWindow *mwin;   
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
//....................................
};


#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "loginform.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    MainWindow::mwin = this;
}

void MainWindow::on_pushButton_clicked()
{
    this->setVisible(false);
    LoginForm *login = new LoginForm(0);
    login->setVisible(true);
}




#include "loginform.h"
#include "ui_loginform.h"
#include "mainwindow.h"

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

void LoginForm::on_pushButton_clicked()
{
    MainWindow::mwin->setVisible(true);
    this->close();
}
[ 此帖被leegoo在2010-04-14 08:21重新编辑 ]
离线nicker2010

只看该作者 1楼 发表于: 2010-05-13
是不是UI和类同名的问题...
快速回复
限100 字节
 
上一个 下一个