Qt:語法高亮重寫
阿新 • • 發佈:2021-01-24
void MySynraxHighlishter::highlightBlock(const QString &text)
{
QTextCharFormat format; //字元格式
format.setFontWeight(QFont::Bold); //字元格式
format.setBackground(Qt::red); //背景顏色
format.setForeground(Qt::green); //前景色
QString pattern = "\\bgood\\b"; //匹配單詞邊界
QRegExp expattern(pattern); // 正則表示式
int index = text.indexOf(expattern); //匹配
while(index >= 0){
int length = expattern.matchedLength(); //匹配到的字元長度
setFormat(index,length,format); //設定格式
index = text.indexOf(expattern,index+length);
}
}