Seite 1 von 1

wxStyledTextCtrl -- Lexer / Code Highlighting

Verfasst: Dienstag 1. Juli 2008, 09:05
von fschaef
Hallo,

kann mir jemand beim 'Aufstarten' helfen bzgl. des wxStyledTextCtrl
widgets. Es geht um das färben von Text entsprechend der Programmiersprache. Ich schrieb den folgenden Schnipsel:

text_ctrl.StyleSetFont(wx.stc.STC_STYLE_DEFAULT, wx.Font(10, wx.MODERN, wx.NORMAL, wx.NORMAL))

text_ctrl.SetText(text)
text_ctrl.ClearDocumentStyle()
language = map_extension_to_lexer_mode[extension]
text_ctrl.SetLexerLanguage(language)
text_ctrl.Colourise(0, len(text))


Leider wird der Text nur schwarz-weiss dargestellt. Den zündenden Funken konnte ich in der Doku leider noch nicht finden.


Beste Grüsse

Frank

Verfasst: Dienstag 1. Juli 2008, 11:55
von HWK
Hilft das evtl. weiter?
http://www.yellowbrain.com/stc/lexing.html
MfG
HWK

Verfasst: Dienstag 1. Juli 2008, 12:14
von fschaef
Da war ich schon und das hat mir auch sehr geholfen. Leider konnte ich keine ad hoc Lösung finden. Warhscheinlich fehlt nur ein kleiner Aufruf. Den kann ich leider nicht ausfindig machen.

Verfasst: Montag 7. Juli 2008, 16:11
von Francesco
fschaef hat geschrieben:Da war ich schon und das hat mir auch sehr geholfen. Leider konnte ich keine ad hoc Lösung finden. Warhscheinlich fehlt nur ein kleiner Aufruf. Den kann ich leider nicht ausfindig machen.
Hallo, wenn du einen Lexer verwendest, funktioniert das zusätzliche Einfärben nicht, da die Farben (Styles) mit dem Lexer automatisch überschrieben werden. Wie das genau funktioniert, weiss ich auch nicht. Am besten in der wxPython mailing list fragen.