我正在Qt中写一个登录窗口。
当用户点击“确定”时,应关闭登录窗口,显示“正在连接服务器...”窗口小部件,然后打开 main connecttoserver 方法完成其工作后,窗口。
但是,小部件仅在显示主窗口时出现,并立即消失(甚至不应该关闭!)
如何解决此问题?
void LoginWindow::blah()
{
close();
QWidget widget;
widget.show();
//calls to the "connecttoserver method"
Main *main = new Main(student->getInfo()[0], student->getInfo()[1], student->getInfo()[2], view);
main->show();
}
}
答案 0 :(得分:2)
QWidget在堆栈上声明为自动,因此在方法返回时会被销毁。你想在堆上声明它:
QWidget *widget = new QWidget();
widget->show();
答案 1 :(得分:0)
除了atomice的answer之外,请确保已将应用程序的quitOnLastWindowClosed设置为false,否则您的应用程序将在关闭登录窗口和打开主窗口之间终止。