Qt und consolen anwendungen
Qt und consolen anwendungen
Hallo zusammen,
ich habe mal folgende frage. Ist es möglich solche Sachen wie QHttp, QXml usw. auch in Consolen anwendungen zu verwenden??
Ich würde nämlich gernen einen kleinen rss reader für eine Seite schreiben und da Qt so nette funktionen hat dachte ich man könnte diese vielleicht nutzen.
Oder ist dies immer nur möglich im zusammenhang mit einer Gui ?
Gruß
Treehouse
ich habe mal folgende frage. Ist es möglich solche Sachen wie QHttp, QXml usw. auch in Consolen anwendungen zu verwenden??
Ich würde nämlich gernen einen kleinen rss reader für eine Seite schreiben und da Qt so nette funktionen hat dachte ich man könnte diese vielleicht nutzen.
Oder ist dies immer nur möglich im zusammenhang mit einer Gui ?
Gruß
Treehouse
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Ja weil ich gerade versuche eine html seite aus zu lesen und so wie ich das verstanden habe muss ich da doch dann mit Signal Slot arbeiten oder?? Damit man weiß wann das einlesen beendet ist.
Ich versuche gerade das kleine programm aus dem Tutorial auf die Konsole zu übertragen,
http://doc.trolltech.com/4.3/xml-rsslis ... g-cpp.html
aber so richtig will es nicht klappen...... wenn ich hier http.readall() mache kommen hier keine daten an.
Ich versuche gerade das kleine programm aus dem Tutorial auf die Konsole zu übertragen,
http://doc.trolltech.com/4.3/xml-rsslis ... g-cpp.html
aber so richtig will es nicht klappen...... wenn ich hier http.readall() mache kommen hier keine daten an.
Hier mal mein kleiner Code ::
und ich dachte halt das man so die Seite schon mal auslesen könnte. Aber da habe ich wohl was flasch verstanden.
Code: Alles auswählen
#include <QHttp>
#include <QString>
#include <iostream>
#include <QUrl>
#include <QDebug>
#include <QByteArray>
using namespace std;
int main(int argc, char **argv){
QHttp http;
QByteArray arr;
QUrl url(argv[1]);
http.setHost(url.host());
http.get(url.path());
arr = http.readAll();
qDebug() << arr;
}
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
So sollte es doch gehen oder................ nur leider tuts das nicht
woran kann das denn liegen.......... ?
woran kann das denn liegen.......... ?
Code: Alles auswählen
int main(int argc, char **argv){
QCoreApplication a(argc, argv);
QHttp http;
QByteArray arr;
QUrl url(argv[1]);
http.setHost(url.host());
http.get(url.path());
qDebug() << http.readAll();
return a.exec();
}-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Euer Problem ist dass ihr einfach anfangt ohne euch Gedanken zu machen bzw. ohne zu wissen was ihr überhaupt macht.
Hättest Du dich etwas mit Qt beschäftigt und die Tutorials durchearbeitet hättest Du gesehen, dass dies nur mit Signals/Slots geht. Steht ja auch gut hier
Hättest Du dich etwas mit Qt beschäftigt und die Tutorials durchearbeitet hättest Du gesehen, dass dies nur mit Signals/Slots geht. Steht ja auch gut hier
Wir haben uns das auch alles erarbeitet und sind nicht mit der Doku auf die Welt gekommen. Aber wir haben auch was dafür gegeben und mal nachgedacht und nachgelesen!int QHttp::get ( const QString & path, QIODevice * to = 0 )
Sends a get request for path to the server set by setHost() or as specified in the constructor.
path must be an absolute path like /index.html or an absolute URI like http://www.trolltech.com/index.html.
If the IO device to is 0 the readyRead() signal is emitted every time new content data is available to read.
If the IO device to is not 0, the content data of the response is written directly to the device. Make sure that the to pointer is valid for the duration of the operation (it is safe to delete it when the requestFinished() signal is emitted).
The function does not block and returns immediately. The request is scheduled, and its execution is performed asynchronously. The function returns a unique identifier which is passed by requestStarted() and requestFinished().
When the request is started the requestStarted() signal is emitted. When it is finished the requestFinished() signal is emitted.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung