2

我正在尝试使用QWebView来实现博客文章编辑器。我有一些示例 html 片段可以通过触发菜单操作插入到编辑器中。但是,QTextEdit插入html并不方便。至于我为什么不使用QTextEdit,请看我的测试代码如下:

QTextEdit *edit = new QTextEdit;
edit->insertHtml(tr("<div class=\"gci-hello\">Hello</div>"));
qDebug() << edit->toHtml(); // --> the div tag disappeared

因此,如果我使用 QWebView,则会保留 div 标签。但我不知道如何在视图上的光标位置插入我的代码段。

4

1 回答 1

2

execCommand与 一起使用InsertHTML

QString html = "<div>Some text</div>";
QString js = QString("document.execCommand('InsertHTML',false,'%1');").arg(html);
webview->page()->mainFrame()->evaluateJavaScript(js);

如果 HTML 片段中有单引号字符,请确保用反斜杠引用它们,因为片段是通过 JS 字符串注入的。

于 2013-07-26T01:23:00.687 回答