Ich lerne qt und experimentiere mit Beispielen aus einem Lehrbuch.
Der originale Lehrbuchcode hat die folgende Konfiguration, um beim Anklicken der Schaltfläche "x" zu speichern und zu schließen:
void MainWindow::closeEvent(QCloseEvent *event)
{
if (okToContinue()) {
writeSettings();
event->accept();
} else {
event->ignore();
}
}
Ich habe mit einem einfachen Exit in seinem Menü experimentiert - und es funktioniert:
void MainWindow::close()
{
if (okToContinue()) {
QApplication::quit();
}
}
Aber ich möchte die bereits geschriebene closeEvent nutzen, also habe ich den obigen Code durch den folgenden ersetzt:
void MainWindow::close()
{
QCloseEvent *event = new QCloseEvent();
closeEvent(event);
}
Ich erhalte die Überprüfung auf Änderungen und Speicherung der App, implementiert durch die Funktion okToContinue. Aber die Anwendung schließt nicht.
Ich habe versucht, Debugging zu folgen und... nach meinem kleinen Verständnis scheint es, dass ein Schließsignal gesendet wird...
Ich habe kein gutes Verständnis dafür, kann mir bitte jemand helfen, herauszufinden, was ich falsch mache und wie ich es beheben kann ?
(Der Beispielscode stammt aus dem Buch C++ GUI Programming mit Qt 4, Kapitel 3)