Problem mit Syntaxhighlighting und setFontCapitalization
Verfasst: 18. April 2011 17:09
Hallo!
Ich bin Anfaenger in Sachen Qt/C++ und hab ein Problem mit QSyntaxhighlighter und setFontCapitalization (aus dem Qt Richtext Beispiel "Syntax Highlighter Example").
Ich verwendet ein textEdit Widget und moechte bestimmte Keywoerter hervorheben. Dazu hab ich das Qt Beispiel mit QSyntaxhightlighter abgeaendert. Das highlighting funktioniert prima, auch waehrend der Eingabe. Was ich nun noch brauche ist, dass die Keywoerter, welche hervorgehoben werden, auch alle gross geschrieben werden. Dazu wollte ich in highlighter.cpp folgendes verwenden:
keywordFormat.setFontCapitalization(QFont::AllUppercase);
Aber in der Methode highlightBlock vom QSyntaxhighlighter scheint diese Formatangabe beim Aufruf von setFormat(...) ignoriert zu werden. Der Text wird zwar eingefaerbt wie von mir vorgegeben, auch Bold, Italic, etc. geht, aber keine Grossbuchstaben...
Mach ich was falsch oder weiss jemand wie ich das bewerkstelligen kann?
Ach ja, ich verwende als QSyntaxhighlighter-parent das QTextDocument von textEdit. Und gross sollen natuerlich nur die eingefaerbten Keywoerter geschrieben werden.
Ich bin Anfaenger in Sachen Qt/C++ und hab ein Problem mit QSyntaxhighlighter und setFontCapitalization (aus dem Qt Richtext Beispiel "Syntax Highlighter Example").
Ich verwendet ein textEdit Widget und moechte bestimmte Keywoerter hervorheben. Dazu hab ich das Qt Beispiel mit QSyntaxhightlighter abgeaendert. Das highlighting funktioniert prima, auch waehrend der Eingabe. Was ich nun noch brauche ist, dass die Keywoerter, welche hervorgehoben werden, auch alle gross geschrieben werden. Dazu wollte ich in highlighter.cpp folgendes verwenden:
keywordFormat.setFontCapitalization(QFont::AllUppercase);
Aber in der Methode highlightBlock vom QSyntaxhighlighter scheint diese Formatangabe beim Aufruf von setFormat(...) ignoriert zu werden. Der Text wird zwar eingefaerbt wie von mir vorgegeben, auch Bold, Italic, etc. geht, aber keine Grossbuchstaben...
Mach ich was falsch oder weiss jemand wie ich das bewerkstelligen kann?
Ach ja, ich verwende als QSyntaxhighlighter-parent das QTextDocument von textEdit. Und gross sollen natuerlich nur die eingefaerbten Keywoerter geschrieben werden.