QTextEdit, PlainText farblich hervorheben

Alles rund um die Programmierung mit Qt
Antworten
Panke
Beiträge: 10
Registriert: 29. Mai 2008 15:44

QTextEdit, PlainText farblich hervorheben

Beitrag von Panke »

Hallo Forum!

Ich habe (einfachen) Text ist einem QTextEdit. Dieser Text wird
automatisch gefüllt und vom Nutzer eingegeben. Bestimmte Wörter
dieses Textes möchte ich farblich hervorheben. Von diesen Wörtern
weiß ich [start, end)-Positionen im Text.

Mein Ansatz sieht ungefähr so aus. Das Wort "ist" wird auch richtig hervorgehoben. Mein Problem ist, dass Text der daraufhin direkt hinter "ist" eingegeben wird, die gleiche Formatierung hat, wie "ist" selber. Es soll aber ganz normal schwarz sein. Wie ändere ich die Farbe bestimmter Bereiche, ohne dieses Verhalten auszulösen?

Eine Teillösung des Problems ist es, den Text immer komplett zu löschen und neu einzufügen und dann wieder hervorzuheben. Jetzt habe ich das Problem, dass mein Cursor immer ans Ende des Textes springt, obwohl ich mir die Position vor der gesamten Aktion merke und als letztes den Cursor wieder auf eben diese Position setze. Kann das jemand erklären?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Kann man den QSyntaxHighlighter nicht dafür verwenden?
Panke
Beiträge: 10
Registriert: 29. Mai 2008 15:44

Beitrag von Panke »

Da ich nicht mit regulären Ausdrücken arbeiten kann, um die Teile herauszupicken, die ich hervorheben muss, und diese nicht an Blockgrenzen enden, denke ich, dass das mit QSyntaxhighlighter eher schwieriger wird.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Der QSyntaxHighligher ist weder auf RegEx noch auf Blockgrenzen angewiesen.
Antworten