Ho una QApplicazione che, a seconda dei parametri della riga di comando, a volte in realtà non ha una finestra GUI, ma funziona senza GUI. In questo caso, voglio chiuderlo con grazia se CTRL-C è stato colpito. Fondamentalmente il mio codice assomiglia a questo:QApplicazione: Come arrestare con garbo su Ctrl-C
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();
}
Tuttavia, questo non funziona. CTRL-C sembra essere catturato (l'applicazione non viene uccisa), ma non esce. Cosa mi manca?
[Questo è molto ben documentato. Usa la documentazione.] (Http://doc.qt.io/qt-5/unix-signals.html) –