如果没有可用的 Internet 连接,我使用 QNetworkAccessManager 访问 Internet 的 Qt 应用程序在关闭主窗口后不会退出。
示例应用程序(使用 Qt 4.8、MSVC2010、Win7 x64 测试):
#include <QtGui/QApplication>
#include <QNetworkReply>
#include <QMainWindow>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMainWindow mainWindow;
mainWindow.show();
QNetworkAccessManager * pManager = new QNetworkAccessManager;
QNetworkReply * pReply = pManager->get(QNetworkRequest(QUrl(
"http://www.google.com")));
pReply->abort();
delete pReply;
delete pManager;
// If there is no internet connection, the application will stay alive
// forever after closing the main window.
return a.exec();
}
我错过了什么还是一个错误?如果是,您建议使用什么解决方法来确保应用程序退出?
编辑:我必须纠正自己:示例应用程序在关闭主窗口后仅保持活动状态约 13 秒。如果 QApplication 对象是使用分配的(在我的实际应用程序中就是这种情况),它将永远保持活动状态。new