如何访问 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>

在文件的顶部。