Pergunta
Estou escrevendo um Janela de login em qt.
Quando os usuários clica em OK, ele deve fechar o Janela de login, mostre a "Conectando ao servidor ..." widget, e abrir o janela principal uma vez o conecte-se ao servidor O método fez seu trabalho.
No entanto, o ferramenta aparece apenas quando o janela principal é mostrado e desaparece imediatamente (não deve nem perto!)
Como faço para resolver esse problema?
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();
}
}
Solução
O QWIdget é declarado como automático na pilha, para que seja destruído quando o método retorna. Você quer declarar isso na pilha:
QWidget *widget = new QWidget();
widget->show();
Outras dicas
Além da de Atomice responda, certifique -se de definir o QuitOnLastWindowcled do seu aplicativo como False, caso seu aplicativo termine entre fechar a janela de login e abrir a janela principal.