将自定义HTML类属性添加到QTextEdit中的选定块

时间:2013-02-08 11:53:13

标签: c++ css qt qtextedit

我不是Qt的新手,但我找不到如何将自定义css类添加到QTextEdit中的选定块。

据我所知,格式改为像这样的代码:

QTextCursor cursor = textEdit->textCursor();
QTextBlockFormat bfmt;
// Apply format changes
cursor.setBlockFormat(bfmt);

当我这样做时,生成的HTML代码会创建一个内联样式的跨度,但我想要的是插入css类:

<SPAN class='myclass'>text</span>

我在QTextBlockFormat中缺少一个函数来设置文本的css类。

1 个答案:

答案 0 :(得分:0)

您应该可以通过手动将<span style="">标记添加到所选文本来模拟此行为:

QString oldText = cursor.selectedText();
// not the best way to concat three strings, but for example only...
cursor.insertHtml(QString("<span class=\"%1\">%2</span>").arg("myclass").arg(oldText));

selectedText()将返回当前选定的文字,insertHtml()将在光标的前缀处插入新文字,删除当前选择(如果有)。