Navegação entre janelas
-
Estou iniciando no Qt Creator. Desenvolvi aplicações e outras linguagens, e uma coisa muito comum é a troca de tela, por exemplo, há um menu cadastro, por exemplo, e nele tem cliente, carro, etc... Ao clicar em cliente vai para a tela com o formulário de cadastro do cliente, ao clicar em carro vai para a tela com o formulário de cadastro de carro, ao clicar em visualizar um cliente, vai para a tela de visualização de cliente, etc... Como é feito no Qt Creator esta alternação entre telas, vi que tem algumas maneiras de fazer, mas não sei qual é a correta.
Obrigado.
-
Dan Rosen,
É, realmente existem váaaaaaarias formas.
Uma delas usando QtCreator:Estando com seu projeto aberto, no menu: 'file | new file or project' No grupo 'files and classes' escolha: 'qt | qt designer form class' Defina como base 'qwidget' e confirme (por padrão será adicionado automaticamente ao projeto). Adicione o header desse novo form ao projeto, e conecte um signal->slot para dar um show.
www.rjrsoftware.com.br/MultiFormQt.zip (Exemplo)
Felicidades.
-
Obrigado @ReinaldoJr. É quase isto, só que eu me refiro ali onde tem o botão show cadastro, sumir, e aparecer a tela que abre como dialog, naquele lugar. É isto, só abrir o que abriu no dialog naquele lugar. Andei pesquisando e parece que tem algo a ver com QStackedWidget, não sei exatamente.
Abraços.
-
Para fazer isso você tem que incluir no form um componente QMdiArea.
No construtor do MainWindow adicione a linha 'ui->mdiArea->addSubWindow(&cad);' -
Segue exemplos:
// Não Modal:
DialogCliente *dialog = new DialogCliente(this);
dialog->show();
dialog->exec();// Modal:
DialogCliente *dialog = new DialogCliente(this);
dialog->setModal(true);
dialog->show();
dialog->exec();
delete dialog;// MDI:
DialogCliente *dialog = new DialogCliente(this);
ui->mdiArea->addSubWindow(dialog);
dialog->show();Qualquer dúvida chama aí !
-
Obrigado. Já foi de grande ajuda.