31 QTextCharFormat myClassFormat;
32 myClassFormat.setFontWeight(QFont::Bold);
33 myClassFormat.setForeground(Qt::darkMagenta);
35 QRegularExpression expression(
"\\bMy[A-Za-z]+\\b");
36 QRegularExpressionMatchIterator i = expression.globalMatch(text);
38 QRegularExpressionMatch match = i.next();
39 setFormat(match.capturedStart(), match.capturedLength(), myClassFormat);
46QTextCharFormat multiLineCommentFormat;
47multiLineCommentFormat.setForeground(Qt::red);
49QRegularExpression startExpression(
"/\\*");
50QRegularExpression endExpression(
"\\*/");
52setCurrentBlockState(0);
55if (previousBlockState() != 1)
56 startIndex = text.indexOf(startExpression);
58while (startIndex >= 0) {
59 QRegularExpressionMatch endMatch;
60 int endIndex = text.indexOf(endExpression, startIndex, &endMatch);
63 setCurrentBlockState(1);
64 commentLength = text.length() - startIndex;
66 commentLength = endIndex - startIndex
67 + endMatch.capturedLength();
69 setFormat(startIndex, commentLength, multiLineCommentFormat);
70 startIndex = text.indexOf(startExpression,
71 startIndex + commentLength);