I have doubts about how to use QEventLoop . I have 2 pieces of code, both of them work for me (download the web resource).
First:
QNetworkAccessManager *manager = new QNetworkAccessManager( this ); QNetworkRequest request; request.setUrl(QUrl(url)); request.setRawHeader("User-Agent", "Mozilla Firefox"); connect(manager, SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished(QNetworkReply*))); manager->get( request ) ; QEventLoop loop; connect(manager, SIGNAL(finished(QNetworkReply*)),&loop, SLOT(quit())); loop.exec();
Second:
QNetworkAccessManager *manager = new QNetworkAccessManager( this ); QNetworkRequest request; request.setUrl(QUrl(url)); request.setRawHeader("User-Agent", "Mozilla Firefox"); manager->get( request ) ; QEventLoop loop; connect(manager, SIGNAL(finished(QNetworkReply*)),this, SLOT(replyFinished(QNetworkReply*))); loop.exec();
I want to know what I should use. I mean, does the event loop end in the second after the signal comes out? Or do I need to call quit() , as in the first? I found the second solution somewhere, but it didn't seem right to me, so I changed it to the first part of the code.
qt qtnetwork qeventloop
Bartek boczar
source share