Qt - 如何使用QNetworkAccessManager获取responseText

3
这是我的代码:
Widget::Widget()
{
    manager = new QNetworkAccessManager(this);
    connect(manager, SIGNAL(finished(QNetworkReply*)),this, SLOT(replyFinished(QNetworkReply*)));

    manager->get(QNetworkRequest(QUrl("http://qt.nokia.com")));
}
void Widget::replyFinished(QNetworkReply* reply)
{
    //some other code here
}

我希望回复中有类似于getresponseText()的方法,但是没有...
有人可以给我展示一个例子吗?我只需要打印出响应文本(是否有类似于JavaScript Ajax的方式)
感谢您的帮助!


可能是重复问题:http://stackoverflow.com/q/7177433/894321 - alexisdm
2个回答

8

replyFinished(...)函数中使用reply->readAll()即可读取返回的所有文本。它会返回一个QByteArray,因此您可以从中获取所需内容。


3
查看QNetworkReply的文档此处,特别是在完成信号时,它提到您可以使用readAll()获取所有数据的QByteArray。假设您知道这样的转换是否有效,QString有一个以QByteArray为参数的构造函数,如此处所述。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接