我正在Qt中编写一个登录窗口。
当用户单击OK时,它应该关闭登录窗口,显示“连接到服务器.”小部件,并在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();
}
}发布于 2009-10-22 13:46:12
QWidget在堆栈上被声明为一个自动的,所以当方法返回时它就被销毁了。您希望在堆上声明它:
QWidget *widget = new QWidget();
widget->show();发布于 2009-10-22 13:54:44
除了原子的answer之外,确保将应用程序的quitOnLastWindowClosed设置为false,否则应用程序将在关闭登录窗口和打开主窗口之间终止。
https://stackoverflow.com/questions/1607311
复制相似问题