StyledTextCtrlでテキストの色を設定するにはどうすればよいですか? つまり、私が持っているとしましょう
ルーシー・イズ・ブルー
「青」という単語だけを青に色付けしたい
StyledTextCtrlでテキストの色を設定するにはどうすればよいですか? つまり、私が持っているとしましょう
ルーシー・イズ・ブルー
「青」という単語だけを青に色付けしたい
StyledTextCtrl の wxPython デモを参照してください。これを正確に行う方法を示します。あなたが探しているビットは次のようなものだと思います:
ed.StartStyling(190, 0xff)
ed.SetStyling(20, 2)
190 は 190 番目の文字で、次の 20 文字のスタイルを設定します。
text_area が StyledCtrlText である場合にこれを使用します
self.text_area.StyleSetSpec(stc.STC_P_DEFAULT,"fore:#FF0000")
次に、色を変更したいテキストを入れます
行のスタイルを変更するには、最初のバイトと最後のバイトの位置を取得する必要があります。次に、最初のバイトから開始し (StartStyling)、行全体に適用するスタイル (StyleSetSpec) を定義できます (SetStyling)。最後のバイトでデフォルトのスタイル (0) を再適用する必要があります。これが私のコードです:
# Move to line
self.editname.GotoLine(line-1)
# Get position
pos = self.editname.GetCurrentPos()
# Define style 4
self.editname.StyleSetSpec(4, "back:#ff0000")
# Starts style at position pos
self.editname.StartStyling(pos, 0xffff)
# Until posend position, apply style 4
self.editname.SetStyling(posend-pos, 4)
# Restore style 0 after the ending byte of the line
self.editname.SetStyling(posend, 0)