QNetworkAccessManager
을 사용하여 Qt에서 이진 파일을 다운로드하는 모듈을 빌드하려고합니다. 설명서에 설명 된 것과 동일한 방법을 사용합니다 (아래 참조). 그러나 readyRead
신호를받는 동안 downloadProgress
은 도착하지 않습니다.QNetworkReply에서 다운로드 진행 없음
모든 것이 같은 스레드에서 발생합니다 (프로젝트가 너무 커서 모든 것을 붙여 넣을 수 없습니다).
아이디어가 있으십니까?
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에서 읽은 것을 실제로 읽습니까? 게시 된 코드의 아무 것도 다운로드하지 않습니다. – Eugene
네, 사실 저는 여기에 붙여 넣기를하지 않았습니다. Qt 코드의 브라우저 샘플 사용 – Lior