Почему запросы QNetworkAccessManager могут препятствовать выходу приложений Qt?

Мое приложение Qt, которое использует QNetworkAccessManager для доступа к Интернету, не будет закрываться после закрытия главного окна, если нет рабочего подключения к Интернету.

Пример приложения (протестировано с 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 (что имеет место в моем реальном заявлении).

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]