28

如何转义/清理包含 HTML 的 QString?

IEshowInBroswser(escaped(str)) == showInNotepad(str);

4

3 回答 3

54

qt 5

采用QString::toHtmlEscaped()

QString src;
Qstring html = src.toHtmlEscaped();
showInBrowser(html) == showInNotepad(str);

参考:http ://doc.qt.io/qt-5/qstring.html#toHtmlEscaped

Qt 4

使用Qt::escape.

#include <QtGui/qtextdocument.h>

QString src;
Qstring html = Qt::escape(src);
showInBrowser(html) == showInNotepad(str);

参考:http ://doc.qt.io/qt-4.8/qt.html#escape

于 2013-01-05T15:41:28.757 回答
8

只是为了让这个答案与时俱进,Qt 5.1 具有QString::toHtmlEscaped().

于 2013-07-25T04:38:04.943 回答
-2

如果要将纯文本插入到 QTextEdit 中,可以使用:

void QTextEdit::insertPlainText ( const QString & text );

并且,例如,修改颜色:

void QTextEdit::setTextColor ( const QColor & c ); 

与文本的字体或其他属性类似...

希望有帮助。

于 2013-01-05T15:35:20.697 回答