QNetworkReply doesn't emit the signal finished()



  • Hello. I have this code:

    @MyYoutubeClass::MyYoutubeClass(QObject *parent) :
    QObject(parent) {

    QNetworkAccessManager netAM;
    webView = new QWebView();
    std::cout << "access manager created" << std::endl;
    QNetworkRequest request;
    std::cout << "request created" << std::endl;
    QString searchString = "christmas";
    
    request.setUrl(QUrl("http://www.youtube.com/results?search_query=" + searchString + "&oq=" + searchString + "&gs_l=youtube.3..0l10.517.964.0.1875.8.6.0.0.0.0.196.891.0j6.6.0...0.0...1ac.1.IHtHOivIUgg"));
    
    std::cout << "request url set" << std::endl;
    
    QNetworkReply *reply = netAM.get(request);
    
    connect(reply, SIGNAL(finished()), this, SLOT(processReply()));
    

    }@
    For some reason, the signal is not emited. Anyone knows why?

    Thank you in advance.

    If I put the reply url in a webview it shows it correctly. However I need to parse the reply content not just show it.

    Qt 4.8.4 MinGW (untill I get the trial for Qt5 ^^)
    Windows 7



  • Hi,

    what is the result of isFinished() on your reply (before the connect)?



  • false... but why? because it loads in the WebView...



  • Ok. I wanted to see if the reply wasn't finished before your connect (so the signal would be emitted before being connected to your slot). Maybe you can try "QNetworkAccessManager::finished()":http://qt-project.org/doc/qt-4.8/qnetworkaccessmanager.html#finished instead of QNetworkReply signal. I am not sure it will change anything, but I have no other idea :( .


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.