QT的程序运行到,调用QNetworkAccessManager的post方法时,会直接程序异常结束,

QT的程序运行到,调用QNetworkAccessManager的post方法时,会直接程序异常结束,

img

指针失效了吧

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 看下这篇博客,也许你就懂了,链接:Qt:QNetworkAccessManager
  • 同时,你还可以查看手册:qt QNetworkAccessManager 中的内容
  • 除此之外, 这篇博客: Qt 之处理QNetworkAccessManager请求超时处理中的 一、QNetworkAccessManager相关信号 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    QNetworkAccessManager * pManager = new QNetworkAccessManager(this);
    QNetworkRequest request(url);
    QNetworkReply *reply = pManager->get(request);
    connect( reply , SIGNAL(uploadProgress(qint64,qint64)),this, SIGNAL(uploadProgress(qint64,qint64)) );
    connect(reply , SIGNAL(downloadProgress(qint64,qint64)),SLOT(downloadProgress(qint64,qint64)));
    connect(reply , SIGNAL(finished()),SLOT(downloadFinished()));
    connect(reply , SIGNAL(readyRead()),SLOT(downloadReadyRead()));
    connect(reply , SIGNAL(error(QNetworkReply::NetworkError)),SLOT(downloadError(QNetworkReply::NetworkError)));
    

    downloadProgress,uploadProgress 用来监控当前下载或上传文件的进度
    finished信号会在请求完成时发出
    readyRead在下载过程中有数据到来时,可读出
    error是当请求出错时发出

    注意:本文中,超时处理会主动abort(); 调用abort()之后,会先发出error 然后发出 finished信号
    导致error发出的原因有很多种,具体请看qt的帮助手册
    在这里插入图片描述


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^