5

QHttpクラスが Qt5 で使用できなくなったことに気付きQNetworkAccessManagerました。これを行うには を使用する必要があるというエラー メッセージが表示され続けます。

Qt5でこのクラスにアクセスする方法はありますか?

4

3 に答える 3

4

これは単純な HTTP 投稿です (私は Qt 5.3.2 を使用しています)

int Connection::postRequest(QString requestType, QUrl params){
    QString params_array = params.query();

    QNetworkRequest request(user->url);
    request.setHeader(QNetworkRequest::ContentLengthHeader, QByteArray::number(params_array.size()));
    request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");

    QEventLoop waitLoop;
    QNetworkAccessManager* connection = new QNetworkAccessManager(/*`this` can also be passed*/);
    QNetworkReply* reply = connection->post(request, params_array.toUtf8());
    QObject::connect(reply, SIGNAL(finished()), &waitLoop, SLOT(quit()));
    waitLoop.exec();

    int errorCode = reply->error();
    if (errorCode != 0){
        // Show Error Message
    }
    else{
        // Parse "reply"
    }

    delete reply;
    delete connection;
    return errorCode;
}
于 2014-10-03T16:03:14.620 に答える
1

巨大なコード ベースを維持する必要がないと仮定すると、代わりに新しいQNetworkAccessManagerクラスを使用するのが正しい方法です。

于 2014-10-03T16:00:58.843 に答える