在大多数代码编辑器中,文本突出显示不会删除语法颜色。
例如:
- 视觉工作室
- 崇高的文本
我想在我用 QT 制作的代码编辑器中模拟这个功能;但是,文本突出显示会将所有文本变成单一颜色:
对比
在文本突出显示期间是否可以保留语法突出显示?
仅供参考:我正在使用QPlainTextEdit
andQSyntaxHighlighter
来创建编辑器。我尝试更改 的调色板QPlainTextEdit
,但似乎找不到禁用HighlightedText
效果的方法。
编辑:这是我用来添加一些上下文的代码的简化版本:
void MyHighlighter::highlightBlock(const QString& text) {
// Sets characters 0 ~ 10 to be colored rgb(100, 200, 100)
QTextCharFormat temp;
temp.setForeground(QColor(100, 200, 100));
setFormat(0, 10, temp);
}