QT的QSyntaxHighlighter类使用详解
在QT中,QSyntaxHighlighter类是一个高亮显示文本的工具类。它可用于在TextEdit、PlainTextEdit等文本编辑器控件中高亮显示特定语法或关键字。
在使用QSyntaxHighlighter类前,需要先创建一个QSyntaxHighlighter的继承类,并实现highlightBlock函数,该函数用于高亮显示某个文本块。
下面我们以C++代码为例,演示如何实现一个简单的QSyntaxHighlighter类:
class CppHighlighter : public QSyntaxHighlighter
{
public:
CppHighlighter(QTextDocument *parent = nullptr) : QSyntaxHighlighter(parent)
{
HighlightingRule rule;
keywordFormat.setForeground(Qt::darkBlue);
keywordFormat.setFontWeight(QFont::Bold);
QStringList keywordPatterns{"\\bchar\\b", "\\bclass\\b", "\\bconst\\b", "\\bdouble\\b", "\\benum\\b",