Qt的信号槽连接 - QNetworkAccessManager(Qt signal slot c

2019-09-16 02:35发布

林在Qt的新IM试图了解以下信号槽连接:

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

为什么我们连线“已完成”的GET请求后信号?......发生什么事了,如果线2之间的网络连接槽连接之前,执行速度更快(线3)作出?

我知道,这个代码将工作。 但我想知道这是怎么可能:)

Answer 1:

这是不可能完成的()信号发出,因为你没有产生事件循环呢。 即使以某种方式GET请求被罚再回来的时候,你的代码仍在执行,将继续执行,直到你取得了事件循环。 只有这样,回复对象永远得到机会真正做任何事情,如解析GET响应,并发出相应的信号。



文章来源: Qt signal slot connection - QNetworkAccessManager