Bonjour,

J'ai un textEdit avec un contenue dans lequel je met en darkBlue toutes les ligne contenant le mot "FIELD_MAP" avec le bout de code ci-dessous

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
  HighlightingRule rule;
  QStringList keywordPatterns;
 
  keywordFormat.setFontWeight(QFont::Bold);
  keywordFormat.setForeground(Qt::darkBlue);
  keywordPatterns.clear();
  keywordPatterns << "\\bFIELD_MAP[^\n]*\\b";
  foreach (QString pattern, keywordPatterns) {
    rule.pattern = QRegExp(pattern);
    rule.pattern.setCaseSensitivity(Qt::CaseInsensitive);
    rule.format = keywordFormat;
    highlightingRules.append(rule);
  }
Ca fonctionne bien à l'execption de 2 choses que je n'arrive pas à realiser, et pourtant j'ai bien lue l'aide sur "QRegExp"

- Je voudrait que cette regle ne s'applique pas si il y a un ';' devant le mot FIELD_MAP.
- et enfin, quand je rencontre le mot clef toute la ligne est coloré jusqu'a la fin, mais pas le contenu de la ligne avant le mot clef.

Pensez-vous qu'il y a moyen de réaliser ces 2 conditions
Merci d'avance