[英]Qt: How can I access the actual widgets on a page in WebKit?
是否可以使用Qt訪問WebKit中頁面上的INPUT
和SELECT
生成的小部件?
在相關說明中,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.