如何访问 QNetworkReply->readAll()?
How to access QNetworkReply->readAll()?
我正在通过 QNetwork 访问管理器发出一个简单的获取请求,我在以下函数中发送请求(管理器在构造函数中启动)。
void ui_screen::check_api_authenciation(const QString& access_token) {
//construct the api url
QUrl api_validation_url(this->API_VALIDATION_URL);
QNetworkRequest api_validation_request(api_validation_url);
api_validation_request.setHeader(QNetworkRequest::ServerHeader, "Authorization: token " + access_token);
mgr->get(api_validation_request);
connect(mgr, SIGNAL(finished(QNetworkReply*)), this, SLOT(on_authenciation_response_arrive(QNetworkReply*)));
}
并尝试在以下函数中接收
void ui_screen::on_authenciation_response_arrive(QNetworkReply* reply) {
QByteArray bts = reply->readAll();
QString str(bts);
ui->authenciation_progress->setRange(0,100);
ui->authenciation_progress->setValue(100);
ui->authenciation_progress_label->setText("Reply arrived");
}
但是reply->readAll()
触发了以下错误
error: member access into incomplete type 'QNetworkReply'
为什么我无法访问成员函数?
如果您缺少一些包含文件,则会出现此错误。
您可以包含 QNetworkReply
class 的头文件中的声明,通过添加
"complete" 类型
#include <QNetworkReply>
在文件的顶部。
我正在通过 QNetwork 访问管理器发出一个简单的获取请求,我在以下函数中发送请求(管理器在构造函数中启动)。
void ui_screen::check_api_authenciation(const QString& access_token) {
//construct the api url
QUrl api_validation_url(this->API_VALIDATION_URL);
QNetworkRequest api_validation_request(api_validation_url);
api_validation_request.setHeader(QNetworkRequest::ServerHeader, "Authorization: token " + access_token);
mgr->get(api_validation_request);
connect(mgr, SIGNAL(finished(QNetworkReply*)), this, SLOT(on_authenciation_response_arrive(QNetworkReply*)));
}
并尝试在以下函数中接收
void ui_screen::on_authenciation_response_arrive(QNetworkReply* reply) {
QByteArray bts = reply->readAll();
QString str(bts);
ui->authenciation_progress->setRange(0,100);
ui->authenciation_progress->setValue(100);
ui->authenciation_progress_label->setText("Reply arrived");
}
但是reply->readAll()
触发了以下错误
error: member access into incomplete type 'QNetworkReply'
为什么我无法访问成员函数?
如果您缺少一些包含文件,则会出现此错误。
您可以包含 QNetworkReply
class 的头文件中的声明,通过添加
#include <QNetworkReply>
在文件的顶部。