【问题标题】:How to access QNetworkReply->readAll()? [duplicate]如何访问 QNetworkReply->readAll()? [复制]
【发布时间】:2019-04-20 11:48:08
【问题描述】:

我正在通过 QNetwork 访问管理器发出一个简单的 get 请求,我在以下函数中发送请求(管理器在构造函数中启动)。

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() 触发以下错误

错误:成员访问不完整类型“QNetworkReply”

为什么我无法访问成员函数?

【问题讨论】:

    标签: c++ qt qtnetwork qnetworkreply


    【解决方案1】:

    如果您缺少某些包含文件,则会引发此错误。

    您可以包含 QNetworkReply 类的头文件中的声明,该类将通过添加“完成”类型

    #include <QNetworkReply>
    

    在文件的顶部。

    【讨论】:

    • 谢谢,我变得多么愚蠢,非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多