Bei der Ausführung:setQuitOnLastWindowClosed (true): Ist widget.hide() == widget.close()? den folgenden Code
int main(int argc, char **argv) {
QApplication application{argc, argv};
application.setQuitOnLastWindowClosed(true);
QLabel a("a");
a.setMinimumWidth(400);
a.show();
QLabel b("b");
b.setMinimumWidth(400);
b.show();
QTimer::singleShot(10000, [&]() { b.hide(); });
return application.exec();
}
geschieht Folgendes:
- Qt wird ein Fenster geöffnet "a" und ein Fenster "b"
- Afer 10 Sekunden, verbirgt Qt Fenster „b "nach 10 Sekunden.
Wenn ich jetzt Fenster schließen „a“ von Hand, die Qt Ereignisschleife beendet wird, , obwohl es immer noch ein nicht-geschlossenen Fenster „b“ (was verborgen ist).
Warum? Sollte Qt nicht warten bis "b" geschlossen ist, nicht nur versteckt?
Schwerpunkt auf letzte * sichtbar * ... – peppe