QT konwertowanie QUrl na QNetworkRequest

0

Potrzebuje pobrać/przeczytać pewien plik txt ze strony http://qt-project.org/doc/qt-4.8/QNetworkAccessManager.htmleba użyć klasy QNetworkRequest której konstruktor jest inicjowany zmienna o typie QUrl zawierającą adres pliku. Niestety wywołuje to błąd. Przykładowy kod początku mojej funkcji z dokumentacji http://qt-project.org/doc/qt-4.8/QNetworkAccessManager.html

 QNetworkAccessManager *manager = new QNetworkAccessManager(this);
 connect(manager, SIGNAL(finished(QNetworkReply*)),
         this, SLOT(replyFinished(QNetworkReply*)));

 manager->get(QNetworkRequest(QUrl("http://qt.nokia.com")));

ostatnia linia wywołuje błąd error: C2440: '<function-style-cast>' : cannot convert from 'QUrl' to 'QNetworkRequest'
Szukałem długo rozwiązania, znalazłem np żeby zmienna QUrl tworzyć za pomocą QUrl.fromUserInput niestety niczego to nie zmieniło. Czy ktoś wie jak to obejść albo zna inny sposób na "pobranie pliku do pamieci"?

0

@Krycho, twój skrypt jest błędny utworzyłem taka klasę skopiowałem wszystko słowo w słowo i są błędy, poza tym nie do końca rozumiem ten kod. Dziwi mnie również fakt, że do takiej operacji potrzeba aż klasę pisać. Analogiczna rzecz w .net C++/CLI są to zaledwie 2 linie w kodzie. No ale ok wiem, że tu jest inaczej i trzeba się więcej napisać, tyle, że klasa to trochę przesada. Osobiście chciałbym się dowiedzieć dlaczego kod podany w dokumentacji nie chce się skompilować, bo to trochę dziwne jest jak dla mnie.

0

Czemu klasa? Jest to czesc sporo wiekszej klasy zajmujacej sie przetwarzaniem danych ze strony i odkodowaniem linkow. Dalem jedynie glowna czesc. Klasa jako tako napisana byc musi, poniewaz inaczej nie obsluzy sie systemu sygnalow i slotow. Dzialac dziala, bo program z powodzeniem uzywam, tylko trzeba dopasowac pod siebie i zrozumiec co sie dzieje w kodzie.

Ps. To nie jest skrypt tylko kod. Skrypty wykonuja sie wewnatrz pewnej aplikacji, skompilowany kod wykonuje sie niezaleznie.

0

QNetworkAccessManager manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply
)),
this, SLOT(replyFinished(QNetworkReply*)));
QNetworkRequest request(QUrl("http://qt.nokia.com")) ;
manager->get(request);

0

Manager do sciagania plikow caly przyklad http://doc.qt.digia.com/qt/network-downloadmanager.html

0

poza tym kod dziala twoj, pewny jestes ze dodales do pliku pro taka formule? (network )
QT += core network declarative

a tam gdzie tworzysz dolaczasz na gorze #include <QtNetwork> ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1