Seite 1 von 1
Html-Code von QWebPage oder QWebView
Verfasst: 25. September 2010 17:27
von ghostboss
Hallo,
ich lerne gerade Qt (hab mir ein Buch gekauft). Ich versuche gerade ein Programm zu schreiben und brauche mal kurz hilfe.
Wie kriege ich von QWebView den Html Code? Hab auch in QWebPage gesucht aber finde da auch nichts.
Und wie kann ich da Html Code einfügen/setzen?
(will soneart WYSIWYG-Editor bauen)
Verfasst: 25. September 2010 21:06
von Christian81
Verfasst: 25. September 2010 22:14
von ghostboss
Danke, aber wie kann ich den HTML Code von QWebView bekommen?
Verfasst: 25. September 2010 22:15
von Christian81
Meinen Link gelesen??
Verfasst: 25. September 2010 22:52
von ghostboss
Ja habe ich und so wie ich das verstanden habe (mit meinem Englisch Kenntnis)
setzt diese Methode den Inhalt.
Ich will aber den Inhalt haben.
Mein Codeausschnitt:
Code: Alles auswählen
editorWeb = new QWebView();
editorText = new QTextEdit();
QString html = "<b>hallo</b>";
setCentralWidget(editorWeb);
QUrl url = QUrl("http://www.pisound.de");
editorWeb->load(url);
editorWeb->setHtml(html, url);
editorText->setText(html);
Nach diesem Code hab ich dann "hallo" (Fettgeschrieben) im QWebView()
Verfasst: 25. September 2010 23:43
von upsala
Da du eine andere Doku wie wir zu haben scheinst, poste ich mal den relevanten Abschnitt:
void QWebView::setHtml ( const QString & html, const QUrl & baseUrl = QUrl() )
Sets the content of the web view to the specified html.
External objects such as stylesheets or images referenced in the HTML document are located relative to baseUrl.
The html is loaded immediately; external objects are loaded asynchronously.
When using this method, WebKit assumes that external resources such as JavaScript programs or style sheets are encoded in UTF-8 unless otherwise specified. For example, the encoding of an external script can be specified through the charset attribute of the HTML script tag. Alternatively, the encoding can also be specified by the web server.
See also load(), setContent(), and QWebFrame::toHtml().
Verfasst: 26. September 2010 00:30
von ghostboss
Doch das gleiche steht da oben in Link auch.
Sets the content of the web view to the specified html.
Übersetzung: Setzt den Inhalt von "WebView" zu dem angegebenen Html.
External objects such as stylesheets or images referenced in the HTML document are located relative to baseUrl.
Übersetzung: Externe Objekte, solche wie Stylesheets oder Bilder in dem Html Document sind lokal relativ zu "baseUrl.
Code: Alles auswählen
void QWebView::setHtml ( const QString & html, const QUrl & baseUrl = QUrl() )
// html ist der Html-Code
// baseUrl ist der Pfad zu Externen Dateien
Wie es aussieht ist diese Methode zum setzen des Html-Codes im QWebWiev, oder hab ich das falsch übersetzt

?
Ich möchte Aber den Inhalt von QWebView haben!!! Ich möchte den Inhalt als String haben und ihn verändern.
Verfasst: 26. September 2010 08:14
von upsala
QWebFrame::toHtml() ?
Verfasst: 26. September 2010 08:15
von franzf
Es ging eigentlich nur um die allerletzte Zeile! Bei "toHtml()" muss es doch bimmeln

Dann schaust du wie du von QWebView nach QWebFrame kommst und du hast ein HTML.
Verfasst: 26. September 2010 16:38
von ghostboss
Ok sorry, aber wenn mir die Funktion "void QWebView::setHtml" gepostet wird dann denke ich auch das die Funktion gemeint ist

außerdem kann ich Html und man kann die Webseiten ohne Frame erstellen, deswegen dachte ich das QWebFrame was für Webseiten mit Frames ist.
So, ich hab das jetzt mit QWebFrame gemacht aber trozdem geht es nicht. QWebView ladet aber die Seite.
Code: Alles auswählen
QString html = "<b>hallo bla bla bla bla</b>";
QUrl url = QUrl("http://www.pisound.de");
editorWeb->load(url);
QWebFrame* frame = editorWeb->page()->mainFrame();
html = frame->toHtml();
editorText->setText(html);
Wenn ich die Code Zeile:
auskommentiere, dann steht im editorText (QTextEdit) "<b>hallo bla bla bla bla</b>". Also klappt was mit frame nicht.
Verfasst: 26. September 2010 17:40
von franzf
Weil du dem armen WebView auch gar keine Zeit lässt zu laden! Warte auf das loadFinished()-Signal des QWebView, im entsprechenden SLOT kannst du dir dann problemlos mit view->page()->mainFram().toHtml(); dein HTML abholen.
Verfasst: 26. September 2010 18:44
von ghostboss
Jo es geht Danke
