这里写自定义目录标题
Qt文件下载工具
.js/
最近为了一个程序的升级研究了一个下载工具,可以实现进度查看,下载完成后提示,下载文件大小计算等。
class QDownFileObject : public QObject
{
Q_OBJECT
public:
explicit QDownFileObject(QObject *parent = nullptr);
~QDownFileObject();
public slots:
bool useCustomInstallProcedures() const;
QString downloadDir() const;
void setDownloadDir(const QString& downloadDir);
signals:
void downloadFinished (const QString& url, const QString& filepath);
public slots:
void setUrlId (const QString& url);
void startDownload (const QUrl& url);
void setFileName (const QString& file);
void setUserAgentString (const QString& agent);
void setUseCustomInstallProcedures (const bool custom);
private slots:
void finished();
void openDownload();
void installUpdate();
void cancelDownload();
void saveFile (qint64 received, qint64 total);
void calculateSizes (qint64 received, qint64 total);
void updateProgress (qint64 received, qint64 total);
void calculateTimeRemaining (qint64 received, qint64 total);
private:
qreal round (const qreal& input);
private:
QString m_url;
uint m_startTime;
QDir m_downloadDir;
QString m_fileName;
QNetworkReply* m_reply;
QString m_userAgentString;
bool m_useCustomProcedures;
QNetworkAccessManager* m_manager;