QNetworkAccessManager(网络访问管理器)
简介:
QNetworkAccessManager 是一个允许引用程序发送网络请求和接收答复的类
QNetworkAccessManager 支持http编程,ftp编程等
QNetworkAccessManager 中的所有访问都是异步的
QNetworkRequest 是一个要发送网络请求的类。其中包含请求的数据
QNetworkReply 是网络请求发送后,返回的答复类。其中包含答复信息等。
使用:
想要使用QNetworkAccessManager。最初始的步骤是从.pro文件添加network。以便寻找相关类
QT += core gui network
然后呢。在qt的头文件里声明QNetworkAccessManager指针
QNetworkAccessManager * manager;
在窗口构造函数中,把QNetworkAccessManager指针new一下
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget)
{
ui->setupUi(this);
manager = new QNetworkAccessManager(this);
}
好了。manager算是掏出来了。接下来我们怎么办呢?
别急,
我们声明一个槽函数onFinished(),用来判断是否下载完了
void Widget::onFinished(QNetworkReply * reply)//reply用于接收消息
{
qDebug() << "Your thing had finished downloading.";
}
要使用qDebug,得引用一下
#include "QDebug"
最后再来连接信号槽一下
connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(onFinished(QNetworkReply *)));
好了 准备工作做好了。让我们再做其他的事情
我们试着下载一个页面看看。这个下载需要GET请求
比如说我们想下载一个百度的页面
manager->get(QNetworkRequest(QUrl(" http://www.baidu.com/ ")));
由于整个过程是异步的。你可以随便操作窗口内的其他东西~
简介:
QNetworkAccessManager 是一个允许引用程序发送网络请求和接收答复的类
QNetworkAccessManager 支持http编程,ftp编程等
QNetworkAccessManager 支持GET,POST等请求
QNetworkAccessManager 中的所有访问都是异步的
QNetworkRequest 是一个要发送网络请求的类。其中包含请求的数据
QNetworkReply 是网络请求发送后,返回的答复类。其中包含答复信息等。
使用:
想要使用QNetworkAccessManager。最初始的步骤是从.pro文件添加network。以便寻找相关类
QT += core gui network
然后呢。在qt的头文件里声明QNetworkAccessManager指针
QNetworkAccessManager * manager;
在窗口构造函数中,把QNetworkAccessManager指针new一下
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget)
{
ui->setupUi(this);
manager = new QNetworkAccessManager(this);
}
好了。manager算是掏出来了。接下来我们怎么办呢?
别急,
我们声明一个槽函数onFinished(),用来判断是否下载完了
void Widget::onFinished(QNetworkReply * reply)//reply用于接收消息
{
qDebug() << "Your thing had finished downloading.";
}
要使用qDebug,得引用一下
#include "QDebug"
最后再来连接信号槽一下
connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(onFinished(QNetworkReply *)));
好了 准备工作做好了。让我们再做其他的事情
我们试着下载一个页面看看。这个下载需要GET请求
比如说我们想下载一个百度的页面
manager->get(QNetworkRequest(QUrl(" http://www.baidu.com/ ")));
由于整个过程是异步的。你可以随便操作窗口内的其他东西~