2

QWebViewブログ投稿エディターを実装するために使用しようとしています。また、メニュー アクションをトリガーしてエディターに挿入する HTML スニペットのサンプルもいくつかあります。ただし、QTextEdithtmlを挿入するのは便利ではありません。を使用しない理由については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 に答える