如何将HTML元素添加到QT WebView

时间:2013-08-13 15:10:30

标签: c++ qt qtwebkit

我有一个桌面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执行此操作,或者我错过了一些非常明显的内容..?

1 个答案:

答案 0 :(得分:0)

我不知道QWebElements但是我只是用ui->webView()->page()->mainFrame()->toHtml();将html解压缩为QString,然后将段落插入到html中,最后将html加载到带有ui->webView()->setHtml(html);的QWebView中。