0

我有一个桌面 c++/qt gui 应用程序,它使用 QWebview 作为其中心小部件。

我正在努力做一些看似微不足道的事情。我想从 qt 向网页添加一个元素,如下例所示

<body>
    <h1>When Are You Going To Fix This</h1>
</body>

<body>
    <h1>When Are You Going To Fix This</h1>
    <p>I am doing it now</p>
</body>

我已经尝试过和其他变体

//.. Gui set up and url loaded into webview
//  my attempt at adding a new HTML element

QWebFrame * frame   = ui->webView->page()->mainFrame();
QWebElement body   = frame->documentElement().findFirst("BODY");    

if(!body.isNull()){
    QWebElement newElem; //create a new element to 
    newElem.appendInside("<p>I am doing it now</p>");
    newElem.appendInside(body);
}

我也尝试过创建一个新元素并构建所需的部分,但无济于事

QWebFrame * frame   = ui->webView->page()->mainFrame();
QWebElement body   = frame->documentElement().findFirst("BODY");    

if(!body.isNull()){
    QWebElement newElem; //create a new element to 
    newElem.setAttribute("TAG", "P");
    newElem.setAttribute("innerHTML", "I am doing it now");
    newElem.appendInside(body);
}

是否可以使用 qt webkit 做到这一点,或者我是否遗漏了一些明显的东西..?

4

1 回答 1

0

我不知道 QWebElements,但我只是将 html 提取为 QString ,ui->webView()->page()->mainFrame()->toHtml();然后将段落插入到 html 中,最后将 html 加载到 QWebView 中ui->webView()->setHtml(html);

于 2013-08-21T19:10:05.353 回答