#include<QLineEdit>
#include<QCheckBox>
#include<QPushButton>
#include<QPixmap>
#include<QDebug>
#include"milogin.h"
#include"basewidget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
setupUi();
connect(ui->showLoginButton,&QPushButton::clicked,this,&Widget::showBaseWidget);
}
Widget::~Widget()
{
delete ui;
delete m_baseWid;
}
void Widget::setupUi()
{
MiLoginWindow m;
int ret = m.exec();
qDebug()<<ret;
qDebug()<<QDialog::Accepted;
ui->setupUi(this);
ui->showLoginButton->setText(QStringLiteral("标准对话框"));
this->setWindowTitle(QStringLiteral("测试程序"));
}
void Widget::showBaseWidget()
{
this->hide();
m_baseWid = new CBaseWidget();
connect(m_baseWid,&CBaseWidget::sendQuit,this,&Widget::reShow);
// m_baseWid->show();
}
void Widget::reShow()
{
this->show();
}
这是因为 connect(m_baseWid,&CBaseWidget::sendQuit,this,&Widget::reShow);我调用这个的时候m_baseWid还没调用。
而是 setupUi里面有this.show()