我不是Qt的新手,但我找不到如何将自定义css类添加到QTextEdit中的选定块。
据我所知,格式改为像这样的代码:
QTextCursor cursor = textEdit->textCursor();
QTextBlockFormat bfmt;
// Apply format changes
cursor.setBlockFormat(bfmt);
当我这样做时,生成的HTML代码会创建一个内联样式的跨度,但我想要的是插入css类:
<SPAN class='myclass'>text</span>
我在QTextBlockFormat中缺少一个函数来设置文本的css类。
答案 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()
将在光标的前缀处插入新文字,删除当前选择(如果有)。