QNetworkAccessManager析构函数是否中止当前请求?

时间:2012-04-27 01:19:30

标签: c++ qt qnetworkaccessmanager

处理用户应该可以取消所有上传的应用程序。现在我想知道我是否必须追捕QNAM的所有回复,或者只是删除它并期望它们全部中止呢?

在文档中没有任何关于流产的说明,但我认为它会。

  

销毁QNetworkAccessManager对象并释放所有资源。请注意,从此类返回的QNetworkReply对象将此对象设置为其父对象,这意味着如果不对它们调用QObject :: setParent(),它们将与它一起删除。

编辑: 为每个回复结束使用包装器(它也取得了对它的所有权并重新执行等),在它的析构函数中,它们断开QNetworkReplys信号以及中止它。它与包装器(parent-> child)

一起被删除

1 个答案:

答案 0 :(得分:3)

它只会删除回复。来自消息来源:

QNetworkAccessManager::~QNetworkAccessManager()
{
    // ...

    qDeleteAll(findChildren<QNetworkReply *>());

    // ...
}

QNetworkReply的析构函数为空,因此您需要手动中止它们。