对于信号:
QNetworkReply::error(QNetworkReply::NetworkError code)
Qt的文件说:
当回复检测到处理错误时,会发出此信号。 完成()信号可能会跟随,表明 连接结束了。
具体来说,什么时候发出完成的()信号?什么时候不发信号?
答案 0 :(得分:3)
QNetworkReply ::错误信号何时接着是完成()信号? 具体来说,何时发出完成的()信号以及何时发出 不?
由于数据传输完成或传输过程中的错误,请求完成时会发出信号finished()
。如果发生错误,信号error()
正在finished()
之前发生。在实践中,我们可以为“错误”和“传输成功”处理finished()
。
举例说明:
// connect 'finished' signal with consumer
connect(&s_networkAccessManager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(requestFinished(QNetworkReply*)));
void MyClass::requestFinished(QNetworkReply* pReply)
{
if ( pReply )
{
if (pReply->error() == QNetworkReply::NoError)
consumeData(pReply)
else
errorHandler(pReply->error(), pReply->errorString());
}
}