gpt4 book ai didi

qt - QNetworkReply 等待完成

转载 作者:行者123 更新时间:2023-12-04 00:02:15 25 4
gpt4 key购买 nike

我正在使用 Qt 4.6.3 和以下不起作用的代码

QStringList userInfo;
QNetworkRequest netRequest(QUrl("http://api.stackoverflow.com/1.1/users/587532"));
QNetworkReply *netReply = netman->get(netRequest);

// from here onwards not working
netReply->waitForReadyRead(-1);
if (netReply->isFinished()==true)
{userInfo << do sth to reply;}
return userInfo;

由于此函数返回一个空的 QStringList,应用程序崩溃。如何等到请求完成再处理回复 一个功能内

最佳答案

您可以使用事件循环:

QEventLoop loop;
connect(netReply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
// here you have done.

此外,您应该考虑添加一些比网络超时更短的时间(20 秒?)。即使发生错误,我也不确定是否调用了完成。因此,您也有可能连接到错误信号。

关于qt - QNetworkReply 等待完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5486090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com