0

Qtを使用して、WebKitのページによって生成さINPUTれたウィジェットにアクセスする方法はありますか?SELECT

関連するメモとして、WebKitはこれらのウィジェットを提供しますか、それともQtに委任してウィジェットを生成しますか?

4

2 に答える 2

2

「ウィジェット」はありません。新しいブラウザは、オーバーレイなどを可能にするためにすべての要素自体をレンダリングします。

それらを操作したい場合は、DOMを使用してください。

于 2010-05-27T21:44:40.403 に答える
1

QWebView内のすべては、従来のQtウィジェットシステムを使用しません。WebKitによってレンダリングされたのはHTMLだけです。ただし、evalJS関数を使用してhtmlにアクセスできます。コードの例:

 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);
于 2010-05-29T03:51:10.047 に答える