2013-07-25 3 views
2

Я пытаюсь использовать QWebView для реализации редактора сообщений в блоге. И у меня есть некоторые фрагменты HTML html для вставки в редактор путем запуска действий меню. Тем не менее, это не удобно, так как QTextEdit для вставки html. А почему я не использую QTextEdit см мой тестовый код следующим образом:
Qt как вставить html в редактируемый QWebView в позиции курсора?

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

Так что, если я использую QWebView, то DIV тег будет зарезервирован. Но я не могу узнать, как вставить мой фрагмент в позицию курсора в представлении.

ответ

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.

+0

thanx для ответа ур, он отлично работает :) – Ggicci

Смежные вопросы