Qt页面跳转
问题:第二个页面不出现
页面跳转我这里想要的效果是,点击欢迎界面的登录按钮出现登录界面,同时欢迎界面暂时消失。
void Main_Widget::on_pushButton_login_clicked()
{
this->close();
Login_Widget *lw = new Login_Widget(this);
lw->show();
}
这是我写错的第一个错误版本,这时出现的是点击“登录”按钮后,欢迎界面消失,没有出现登录界面。我以为是close的问题,就把close换成了hide,如下面这第二个错误版本。
void Main_Widget::on_pushButton_login_clicked()
{
this->hide();
Login_Widget *lw = new Login_Widget(this);
lw->show();
}
这时出现的状况也是欢迎界面消失,还是没有出现登录界面。然后我把那句话注释掉想测试一下。
void Main_Widget::on_pushButton_login_clicked()
{
// this->hide();
Login_Widget *lw = new Login_Widget(this);
lw->show();
}
这就是注释掉this->hide()后,点集登录按钮的结果截图。
void Main_Widget::on_pushButton_login_clicked()
{
this->hide();
Login_Widget *lw = new Login_Widget();
lw->show();
}
最后明白了如果想要两个完全独立的widget出现,不能将main_widget对象作为参数传给下一个作初始化。不然运行 this->close();
,将第一个widget关闭后,第二个将会没有widget去展示ui控件,所以只会出现一个空白的以Form为窗口标题的空窗口。
以下是正常运行的到的结果截图: