ich beschäftige mich im Rahmen eines Praktikums mt Qt und habe folgendes Problem:
ich will von einem Webserver eine Xml Datei herunterladen und dann daraus ein QomDocument erstellen, damit der User die Datei auslesen kann.
jetzt wollte ich wissen, ob es irgendwie möglich ist nach der get-Anfrage an den Server zu warten, bis die Anfrage fertig ist und dann mein QDomDocument erstellen zu können.
Ich weiß, dass ich zum Beispiel auf das Signal requestFinished() reagieren kann aber dann läuft das Hauptprogramm ja trotzdem weiter. (Wird die get-Anfrage eigentlich in einem eigenen Thread abgearbeitet ?)
Mein Problem ist, dass ich dem User erst erlauben darf, das Xml-File auszuwerten, wenn es schon vollständig eingelesen worden ist. Also muss ich irgendwie sicherstellen, dass die get-Anfrage zu Ende ist, bevor das Programm weiterlaufen kann.
Wäre cool, wenn ihr mir helfen könntet.
Mein Code sieht ungefähr so aus:
Code: Alles auswählen
QUrl url("www......")
QBuffer buffer;
QHttp http(url.host());
connect(&http, SIGNAL( requestFinished() ), this, SLOT( createDocument() ));
http.get(url.path(), &buffer);
//hier will ich warten, bis das QDomDocument erzeugt wurde und dann
//erst weitermachen
Geht das irgendwie, oder gibts noch ne einfachere Methode ?
ciao