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();
       }
   }
Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top