0

如果没有可用的 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

4

0 回答 0