【发布时间】:2009-07-28 19:27:16
【问题描述】:
我正在尝试使用QNetworkAccessManager 构建一个在Qt 中下载二进制文件的模块。我使用文档中详述的相同方法(见下文),但虽然我确实收到了 readyRead 信号,但 downloadProgress 永远不会到达。
一切都发生在同一个线程上(项目很大,所以我不能全部粘贴)。
有什么想法吗?
QNetworkRequest request;
request.setUrl("http://XXX.s3.amazonaws.com/XXX.exe");
request.setRawHeader("User-Agent", "MyOwnBrowser 1.0");
QNetworkAccessManager * m_manager = new QNetworkAccessManager( this );
m_reply = m_manager->get(request);
m_reply->setParent(this);
connect(m_reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead()));
connect(m_reply, SIGNAL(downloadProgress(qint64 bytesReceived, qint64 bytesTotal)),
this, SLOT(replyDownloadProgress(qint64 bytesReceived, qint64 bytesTotal)));
【问题讨论】:
-
你真的在readyRead上读过东西吗?发布的代码中没有任何下载...
-
是的,我确实读过,只是没有将其粘贴到此处。使用来自 qt 代码的浏览器示例