QT get返回值问题

有时很流氓 发布于 2016/06/14 12:13
阅读 256
收藏 0
Qt
connect(pManager, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinished(QNetworkReply *)));
 connect(pManager1, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinished1(QNetworkReply *)));
 connect(pManager2, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinished2(QNetworkReply *)));

connect(pManager3, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinished3(QNetworkReply *)));

因为我的url是这种的: /api2/json/nodes/{node}/qemu/{vmid}/spice

花括号中的是需要我get  url,通过返回值获取的,所以我需要多次get,我每次get为了接收返回值,都需要创建槽函数,这样应该有问题吧,有没有好的办法解决这个问题。拜托大神指点下。

加载中
0
快乐的一只小青蛙
快乐的一只小青蛙
如果不是同时进行的话,也就是同个时间只会请求一个url地址的话,可以读完一次后把pManager设置不同的url地址来解决
快乐的一只小青蛙
快乐的一只小青蛙
回复 @有时很流氓 : 那能有什么办法。老老实实的一个个弄呗
有时很流氓
有时很流氓
不同的url对应的槽处理不同啊,这个该怎么办
0
有时很流氓
有时很流氓

我找了一个方法,阻塞他的异步:

QTime _t;

bool _timeout=false;

const int TIMEOUT = (30 * 1000);
 _t.start();
 while (!m_pReply1->isFinished()) {
 QApplication::processEvents();
 if (_t.elapsed() >= TIMEOUT) {
 _timeout = true;
 break;
 }
 }
 if (!_timeout && m_pReply1->error() == QNetworkReply::NoError) {
 responseData = m_pReply1->readAll();
 }


0
有时很流氓
有时很流氓

测试了,没有问题,有点不明白什么意思,为什么TIME值定为30*1000,所以会不会有一定的约束


返回顶部
顶部