3

我对 Qt 并不陌生,但我找不到如何将自定义 css 类添加到 QTextEdit 中的选定块。

据我所知,格式更改为如下代码:

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

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

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

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

4

1 回答 1

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()在光标的开头插入新文本,删除当前选择(如果有)。

于 2013-02-08T15:57:58.640 回答