1. 程式人生 > 其它 >Qt:語法高亮重寫

Qt:語法高亮重寫

技術標籤:Qtqt

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