Qt信号槽连接-QNetworkAccessManager [英] Qt signal slot connection - QNetworkAccessManager

查看:40
本文介绍了Qt信号槽连接-QNetworkAccessManager的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Qt新手,我正在尝试了解以下信号插槽连接:

m_networkManager = new QNetworkAccessManager(this);
QNetworkReply *reply = m_networkManager->get(request);
connect(reply, SIGNAL(finished()),this, SLOT(onRequestCompleted()));

为什么我们在GET-REQUEST之后连接"Finish"信号?.如果在插槽连接(LINE-3)之前更快地执行LINE-2中的网络连接,会发生什么?

我知道,这个代码会起作用的。但我想知道这是怎么可能的:)

推荐答案

无法发出Finish()信号,因为您尚未屈服于事件循环。即使GET请求以某种方式被发送然后返回,您的代码仍然在执行,并且将继续执行,直到您屈服于事件循环。只有这样,回复对象才有机会实际执行任何操作,例如解析GET响应并发出相应的信号。

这篇关于Qt信号槽连接-QNetworkAccessManager的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆