Я пишу окно входа в систему в Qt.Окно регистрации Qt4
Когда пользователь нажимает на кнопку OK, то следует закрыть окно входа, показать «Подключение к серверу ...» Widget и откройте главное окнокогда 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();
}
}
Спасибо, теперь окно остается открытым. Однако он все еще открывается слишком поздно. Пока метод connecttoserver загружается, окно не отображается ... – Klaus
Он не будет виден на экране, пока ваше приложение не вернется в цикл событий. Вы можете попробовать вызвать qApp-> processEvents() после widget-> show(), но это просто хак, и окно не будет перерисовываться должным образом (между прочим). Чтобы решить проблему правильно, вы хотите, чтобы i) блокировать connecttoserver или ii) вызывать connectttoserver в другом потоке. – atomice
Спасибо, сейчас он хорошо работает. Я буду смотреть на потоки через некоторое время. – Klaus