資源簡(jiǎn)介
Qt多線(xiàn)程下載實(shí)例
代碼片段和文件信息
#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;
????????//發(fā)出請(qǐng)求,獲取目標(biāo)地址的頭部信息
????????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
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????目錄???????????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
評(píng)論
共有 條評(píng)論