簡體   English   中英

Qt:如何訪問WebKit中頁面上的實際小部件?

[英]Qt: How can I access the actual widgets on a page in WebKit?

是否可以使用Qt訪問WebKit中頁面上的INPUTSELECT生成的小部件?

在相關說明中,WebKit是否提供了這些小部件,還是將其委托給Qt來生成它們?

沒有“小部件”。 較新的瀏覽器本身會渲染所有元素以允許覆蓋等。

如果要操縱它們,請使用DOM。

QWebView內部的所有內容均不使用常規的Qt小部件系統。 這只是HTML,由WebKit呈現。 但是您可以使用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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM