資源簡介
Qt多線程下載實例
代碼片段和文件信息
#include?“downloadcontrol.h“
#include?
DownloadControl::DownloadControl(Qobject?*parent)?:
????Qobject(parent)
{
????state?=?Waiting;
????file?=?NULL;
}
QString?DownloadControl::errorString()
{
????return?errorInfo;
}
qint64?DownloadControl::getFileSize(QString?url?int?tryTimes)
{
????qint64?size?=?-1;
????//嘗試tryTimes次
????while(tryTimes?--)
????{
????????QNetworkAccessManager?manager;
????????QEventLoop?loop;
????????//發出請求,獲取目標地址的頭部信息
????????QNetworkReply?*reply?=?manager.head(QNetworkRequest(url));
????????if(!reply)continue;
????????connect(reply?SIGNAL(finished())?&loop?SLOT(quit()));
????????loop.exec();
????????if(reply->error()?!=?QNetworkReply::NoError)
????????{
????????????errorInfo?=?reply->errorString();
????????????co
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-06-25?08:36??ThreadDownload\
?????文件?????????700??2014-06-25?08:35??ThreadDownload\config.h
?????文件???????67646??2014-06-25?08:02??ThreadDownload\download.ico
?????文件????????8322??2014-06-25?08:18??ThreadDownload\downloadcontrol.cpp
?????文件????????2071??2014-06-25?08:18??ThreadDownload\downloadcontrol.h
?????文件????????2689??2014-06-25?08:18??ThreadDownload\downloadthread.cpp
?????文件????????1310??2014-06-25?08:18??ThreadDownload\downloadthread.h
?????文件????????2523??2014-06-25?08:18??ThreadDownload\downloadwidgets.cpp
?????文件?????????619??2014-06-25?08:18??ThreadDownload\downloadwidgets.h
?????文件?????????975??2014-06-25?07:58??ThreadDownload\main.cpp
?????文件?????????766??2014-06-24?16:11??ThreadDownload\mainwindow.ui
?????文件?????????572??2014-06-25?08:02??ThreadDownload\ThreadDownload.pro
?????文件????????6082??2014-06-25?08:23??ThreadDownload\widget.cpp
?????文件????????1145??2014-06-25?08:23??ThreadDownload\widget.h
- 上一篇:Qt5 局域網通信軟件模仿QQ
- 下一篇:QT+OPENGL開發
評論
共有 條評論