Ich habe eine QApplication, die, abhängig von den Befehlszeilenparametern, manchmal kein GUI-Fenster hat, sondern einfach ohne GUI läuft. In diesem Fall möchte ich es ordnungsgemäß beenden, wenn STRG-C gedrückt wurde. Grundsätzlich sieht mein Code so aus:QApplication: Wie man elegant unter Ctrl-C herunterfährt
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
... // parse command line options
if (no_gui) {
QObject::connect(&app, SIGNAL(unixSignal(int)),
&app, SLOT(quit()));
app.watchUnixSignal(SIGINT, true);
app.watchUnixSignal(SIGTERM, true);
}
...
return app.exec();
}
Dies funktioniert jedoch nicht. CTRL-C scheint abgefangen zu werden (die Anwendung wird nicht beendet), aber es wird auch nicht beendet. Was vermisse ich?
[Dies ist sehr gut dokumentiert. Benutze die Dokumentation.] (Http://doc.qt.io/qt-5/unix-signals.html) –