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());

相关推荐
挖矿大亨几秒前
C++中const修饰成员函数
开发语言·c++
洋九八2 分钟前
Hi3861 OpenHarmony 多线程操作、Timer 定时器、点灯、 IO 相关设备控制
开发语言·华为·harmonyos
星火开发设计3 分钟前
using 关键字:命名空间的使用与注意事项
开发语言·c++·学习·算法·编程·知识
安全检测中3 分钟前
序列化与反序列化学习
java·开发语言
进击的荆棘4 分钟前
C++起始之路——string
开发语言·c++·stl
孞㐑¥10 分钟前
算法—字符串
开发语言·c++·经验分享·笔记·算法
小龙报13 分钟前
【数据结构与算法】单链表核心精讲:从概念到实战,吃透指针与动态内存操作
c语言·开发语言·数据结构·c++·人工智能·算法·链表
m5655bj14 分钟前
通过 C# 设置 Word 文档背景颜色、背景图
开发语言·c#·word
野犬寒鸦14 分钟前
从零起步学习并发编程 || 第二章:多线程与死锁在项目中的应用示例
java·开发语言·数据库·后端·学习
果粒蹬i25 分钟前
Python + AI:打造你的智能害虫识别助手
开发语言·人工智能·python