QtExamples/QtHttpEx/ExHttp.h
touwoyimuli 19d8cade29 feat: QNetworkAccessmanager and QNetworkReply and QNetworkRequest
提供网络协议的7层模型中的 中高层的网络协议:Http/FTP/SNMP等

QNetworkAccessmanager  协调网络操作类(处理网络的请求和回应):负责发送网络请求,创建网络响应
QNetworkRequest        网络请求
QNetworkReply          网络请求的响应(提供finished()/readyRead()/downloadProgress()信号),监测网络响应的执行情况,执行相应的操作
2019-12-07 00:05:57 +08:00

41 lines
942 B
C++

#ifndef EXHTTP_H
#define EXHTTP_H
#include <QMainWindow>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QFile>
#include <QUrl>
#include <QDir>
namespace Ui {
class ExHttp;
}
class ExHttp : public QMainWindow
{
Q_OBJECT
public:
explicit ExHttp(QWidget *parent = nullptr);
~ExHttp();
private slots:
void on_btnDown_clicked(); //下载文件
void on_btnFile_clicked(); //默认的保存路径
void on_lineEditUrl_textChanged(const QString &arg1);
void onFinished(); //网络响应结束
void onReadyRead(); //读取下载的数据
void onDownloadProgress(qint64 bytesRea, qint64 totalBytes); //下载进程
private:
Ui::ExHttp *ui;
QNetworkAccessManager* m_networkManager; //网络管理
QNetworkReply* m_reply; //网络响应
QFile* m_file; //下载保存的临时文件
};
#endif // EXHTTP_H