Kiedy próbuję zamknąć mój program Qt, po prostu działa on w tle, ale nie ma już okna.Jak poprawnie zamknąć program Qt?
Zasadniczo chciałbym wiedzieć, co powinienem zrobić, aby zamknął się poprawnie po kliknięciu czerwonego krzyża na moim głównym oknie (które nie ma rodzica).
Following this link, próbowałem kilka rzeczy jak:
QApplication app(argc, argv);
//...
app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));
return app.exec();
lub
QApplication app(argc, argv);
//...
app.setQuitOnLastWindowClosed(true);
return app.exec();
ale żadna praca, proces nadal pozostaje w pamięci, po kliknięciu krzyż.
Następnie, jak mogę poprawnie zamknąć mój program?
Dzięki, spróbuję tego. Nie zrobiłem nic z atrybutem 'Qt :: WA_QuitOnClose', ale spróbuję ponownie zaimplementować' closeEvent() ', nie przeczytałem nic na ten temat podczas wyszukiwania. – JBL
Nie, jeśli nie musisz ponownie wdrażać closeEvent, nie powinieneś tego robić. Domyślnie musi działać poprawnie. Miałem na myśli, że jeśli ponownie zaimplementujesz closeEvent, twoja implementacja może być niepoprawna. –
Och, rzeczywiście. Cóż, w ogóle go nie zmieniłem ... Więc co powinienem zrobić? Muszę bezwzględnie polegać na 'QApplication :: quit()'? – JBL