qt实现文本高亮

重载QSyntaxHighlighter的highlightBlock

void MyHighlighter::highlightBlock(const QString &text)

{

QTextCharFormat myClassFormat;

myClassFormat.setFontWeight(QFont::Bold);

myClassFormat.setForeground(Qt::darkMagenta);

QString pattern = "\\bMy[A-Za-z]+\\b";

QRegExp expression(pattern);

int index = text.indexOf(expression);

while (index >= 0) {

int length = expression.matchedLength();

setFormat(index, length, myClassFormat);

index = text.indexOf(expression, index + length);

}

}

调用方式:

QTextEdit *editor = new QTextEdit;

MyHighlighter *highlighter = new MyHighlighter(editor->document());

相关推荐
q***016518 小时前
Python爬虫完整代码拿走不谢
开发语言·爬虫·python
顺心而行...18 小时前
一些问题记录
开发语言
u***j32418 小时前
JavaScript在Node.js中的进程管理
开发语言·javascript·node.js
沐知全栈开发19 小时前
前端控制器模式
开发语言
C***115019 小时前
对基因列表中批量的基因进行GO和KEGG注释
开发语言·数据库·golang
Percep_gan20 小时前
解决java.security.InvalidKeyException: Illegal key size
java·开发语言
CryptoPP21 小时前
使用 KLineChart 这个轻量级的前端图表库
服务器·开发语言·前端·windows·后端·golang
18你磊哥21 小时前
chromedriver.exe的使用和python基本处理
开发语言·python
小坏讲微服务21 小时前
Spring Cloud Alibaba 整合 Scala 教程完整使用
java·开发语言·分布式·spring cloud·sentinel·scala·后端开发
Kiri霧21 小时前
Scala 循环控制:掌握 while 和 for 循环
大数据·开发语言·scala