を使用して、Qt でバイナリ ファイルをダウンロードするモジュールを構築しようとしていますQNetworkAccessManager
。私はドキュメント (以下を参照) に詳述されているのと同じアプローチを使用していますが、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)));