Окно входа в Qt4 - PullRequest
       14

Окно входа в Qt4

1 голос
/ 22 октября 2009

Я пишу окно входа в Qt.

Когда пользователь нажимает кнопку ОК, он должен закрыть окно входа в систему , показать виджет "Соединение с сервером ..." и открыть главное окно как только метод 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();
       }
   }

Ответы [ 2 ]

2 голосов
/ 22 октября 2009

QWidget объявлен как автоматический в стеке, поэтому он уничтожается при возврате метода. Вместо этого вы хотите объявить это в куче:

QWidget *widget = new QWidget();
widget->show();
0 голосов
/ 22 октября 2009

В дополнение к ответу Atomice , убедитесь, что вы установили quitOnLastWindowClosed для вашего приложения в false, иначе ваше приложение прекратит работу после закрытия окна входа в систему и открытия основного окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...