我有一個QApplication,根據命令行參數,有時實際上並沒有GUI窗口,但只運行沒有GUI。在這種情況下,如果CTRL-C被擊中,我想優雅地關閉它。基本上我的代碼如下所示:QApplication:如何正常關閉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();
}
但是,這是行不通的。 CTRL-C似乎被捕獲(應用程序不會被殺死),但它也不會退出。我錯過了什麼?
[這是非常有據可查的。使用文檔。](http://doc.qt.io/qt-5/unix-signals.html) – 2015-09-12 15:32:55