Qt: Wie kann ich die aktuellen Widgets auf einer Seite in WebKit zugreifen?
Frage
Gibt es eine Möglichkeit, den Zugang der erzeugten Widgets von INPUT
und SELECT
auf einer Seite in WebKit, mit Qt?
Auf einem verwandten beachten, tut WebKit diese Widgets bieten, oder es zurück zu Qt delegiert sie zu generieren?
Lösung
Alles in in QWebView nicht die herkömmlichen Qt-Widget-System. Es ist nur HTML, von WebKit gemacht. Aber Sie können auf den HTML-Zugriff durch die evalJS Funktion. Code-Beispiel:
QString Widget::evalJS(const QString &js)
{
QWebFrame *frame = ui->webView->page()->mainFrame();
return frame->evaluateJavaScript(js).toString();
}
evalJS(QString("document.forms[\"f\"].text.value = \"%1\";").arg(fromText));
evalJS(QString("document.forms[\"f\"].langSelect.value = \"%1\";").arg(langText));
evalJS(QString("translate()"));
QString from = evalJS("document.forms[\"f\"].text.value");
QString translation = evalJS("document.forms[\"f\"].translation.value");
ui->textEditTo->setText(translation);
Andere Tipps
Es gibt keine "Widgets". Neuere Browser zeigt alle Elemente selbst Overlays usw. zu ermöglichen.
Wenn Sie sie das DOM verwenden manipulieren wollen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow