Seite 1 von 2
QTextEdit bestimmte Wörter farbig hervorheben
Verfasst: 8. Oktober 2009 15:27
von Nightblizard
Hi,
ist es möglich (und wenn ja wie) bestimmte Wörter im QTextEdit-Feld farbig hervor zu heben, wie es z.B. jeder guter Compiler tut?
Das ganze muss natürlich dynamisch funktionieren, sprich, wenn das Wort fertig geschrieben wurde und nicht alle 10 Sekunden
Dankend,
Night
Verfasst: 8. Oktober 2009 16:04
von stippy
ich denke Du suchst
QSyntaxHighlighter
Verfasst: 8. Oktober 2009 16:37
von Nightblizard
Ah, das ist schonmal sehr hilfreich, danke!
Jetzt weiss ich aber gerade nicht wie ich die highlight Funktion beim Eingeben aufrufen kann.
Könnte mir dazu noch jemand ein Beispiel geben? Dann wäre ich auch fürs erste bedient
Edit:
Das Signal "TextChanged" schaut gut aus, doch wie kann ich beim aufrufen dieses Signals eine Funktion starten?
Verfasst: 8. Oktober 2009 18:48
von upsala
Schon mal in die Doku von QSyntaxHighlighter geschaut?
Verfasst: 8. Oktober 2009 18:55
von Nightblizard
Wenn du den Link meinst, den stippy gepostet hat, dann schon. Andernfalls, wäre es nett von dir, wenn du mir den entsprechenden Link geben könntest.
Verfasst: 8. Oktober 2009 19:11
von -=Freaky=-
Code: Alles auswählen
This function is called when necessary by the rich text engine, i.e. on text blocks which have changed.
d.h. darum musst du dich nicht selbst kuemmern.
mfg,
julian
Verfasst: 8. Oktober 2009 19:26
von Nightblizard
Oh, den Teil habe ich wohl übersehen.
Jedoch will das nicht so, wie ich will.
you must subclass QSyntaxHighlighter and reimplement highlightBlock().
Gemacht, aber wenn ich compile sagt der Compiler
cannot declare variable `widget' to be of type `Widget'
because the following virtual functions are abstract:
virtual void QSyntaxHighlighter::highlightBlock(const QString&)
Die Klasse:
http://pastebin.com/m5c63291
Der Copy+Paste Codeabschnitt:
http://pastebin.com/m4784cf28
Wo liegt mein Denkfehler?

Verfasst: 9. Oktober 2009 12:41
von niyou
da war ich wohl zu schnell...
Verfasst: 9. Oktober 2009 15:00
von Nightblizard
Kann mir jemand ein konkretes Beispiel zur Benutzung geben? Ich bekomme nichts lauffähiges hin

Verfasst: 9. Oktober 2009 15:25
von Christian81
Wo genau tritt der Fehler auf? Die Fehlermeldung so hilft nicht (viel)
Verfasst: 9. Oktober 2009 15:27
von MiKla
Und das
Beispiel aus den Examples hilft Dir nicht weiter?
Michael
Verfasst: 9. Oktober 2009 16:08
von Nightblizard
Nein, da mir anscheinend die Datei "QtCored4.dll" fehlt und ich diese bis jetzt noch nicht im Netz gefunden habe. Es gibt die Datei QtCore4.dll, aber diese umbenennen und es damit versuchen funktioniert natürlich nicht...
Ich bin am verzweifeln, schon wieder ein GUI, welches nicht funktioniert!

Verfasst: 9. Oktober 2009 16:22
von MiKla
Das Beispiel im Release Mode kompilieren, oder die Debug Libs erstellen!!! Aber sollte doch eigentlich Vorraussetzung sein!!!
Michael
Verfasst: 9. Oktober 2009 16:54
von Nightblizard
Stimmt, jetzt komme ich weiter, jedoch ist das Endergebnis nicht das was ich mir erhofft habe - ein Windoof Problembericht...
Die Header:
http://pastebin.com/m733f6b2a
Der dazugehörige Code:
http://pastebin.com/m5209824d
Main Funktion:
http://pastebin.com/m729402f7
Vielleicht hilft euch ja diese Meldung:
C:\Dokumente und Einstellungen\DWG\Eigene Dateien\wasd\release\wasd.exe exited with code -1073741819
Edit:
Vorgerfertigte Qt4 GUI Application Projekte enden auch beim Problembericht.
Verfasst: 9. Oktober 2009 19:47
von MiKla
Schon mal geschaut ob noch andere Lib's im Pfad sind???
Du solltest Dein Programm als zip hier anhängen, dann kann man das schneller testen.
Michael