我正在检查一些使用 QNetworkAccessManager 的简单示例,我发现了这一点(假设管理器是 QNetworkAccessManager:
QNetworkRequest request;
request.setUrl(QUrl("http://www.someserver.com"));
QNetworkReply *reply = manager->get(request);
connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead()));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),
this, SLOT(slotError(QNetworkReply::NetworkError)));
connect(reply, SIGNAL(sslErrors(QList<QSslError>)),
this, SLOT(slotSslErrors(QList<QSslError>)));
据我了解,对 manager->get 的调用将发送一个 GET 请求。但是,处理该请求的答案的插槽仅在发送呼叫后才连接,这对我来说似乎没有意义。这是我的问题:
- 请求完成后将插槽连接到信号不是问题吗?是否会发生请求已完成并在连接发生之前发出信号,因此信号被错过并且从未被相应的插槽处理的情况?
谢谢!
L.
更新:正如cyber_raj所指出的,这里已经回答了这个问题:Qt signal slot connection - QNetworkAccessManager