![71afae268892a6e15121d75a8bc0e8d2.png](https://img-blog.csdnimg.cn/img_convert/71afae268892a6e15121d75a8bc0e8d2.png)
语法高亮显示示例展示了如何执行简单的语法高亮显示(对C ++文件语法高亮)。
![c8e5c4d35cae3fcd00e0a3784a701bdf.gif](https://img-blog.csdnimg.cn/img_convert/c8e5c4d35cae3fcd00e0a3784a701bdf.gif)
该示例主要使用QTextEdit和QSyntaxHighlighter实现。
要提供自定义的语法突出显示,您必须子类QSyntaxHighlighter
和重新实现highlightBlock
函数,并定义自己的突出显示规则。
使用QVector<HighlightingRule>
存储高亮显示规则:规则由QRegularExpression模式和QTextCharFormat实例组成,然后配置好的highlightingRules
,用于当文本块更新时自动调用highlightBlock
函数刷新高亮显示文本。
struct HighlightingRule
{
QRegularExpression pattern;
QTextCharFormat format;
}