Várias janelas em um único projeto
Tenho um requisito para o meu projeto exibir dois QMLWindow
s cada em uma tela (um remetente, um receptor). Ambos os.qml
requer que eu inclua alguns modelos de Cpp, por isso estou usandoQQmlApplicationEngine
para registrar os modelos Cpp.
Eu descobri que usandoQWidget::createWindowContainer()
Eu sou capaz de exibir váriosWindow
s para um único projeto. Isso funciona perfeitamente para o primeiro arquivo QML. Os trechos de código são assim:
QQmlApplicationEngine* engine = new QQmlApplicationEngine(Qurl("main.qml"));
QmlContext* context = engine.getContextProperty();
//do some Cpp models registering...
QQuickview *view = new QQuickview(engine,0);
QWidget* container = widget::createWindowContainer(view);
//I realized I dont need to do container->show(); for the main.qml to appear..
//use desktop widget to move the 2nd container to the 2nd screen...
Decidi criar um segundo mecanismo de aplicativo para o meureceive.qml
com um método semelhante. Logo percebi que oreceive.qml
nunca abriria mesmo comcontainer2->show()
. Agora, ele está mostrando uma página vazia.
Minhas perguntas são:
Minha abordagem está correta ou existe uma solução melhor para isso?Que sinal eu preciso procurar para detectar o evento de fechamento da janela? Não consigo detectar o sinal quando uma das janelas está fechada. como eu queria fechar os dois quando um foi detectado.