wxPython StyledTextCtrl设置(部分)文本颜色

时间:2012-05-10 13:36:34

标签: python wxpython wxwidgets textcolor wxstyledtextctrl

如何在StyledTextCtrl中设置文本颜色,但只有一些单词?我的意思是让我说我​​有

露西是蓝色

我希望 这个词'Blue'为蓝色

3 个答案:

答案 0 :(得分:1)

请参阅StyledTextCtrl的wxPython演示。它显示了如何做到这一点。我觉得你要找的东西是这样的:

ed.StartStyling(190, 0xff)
ed.SetStyling(20, 2)

其中190是第190个字符,并为接下来的20个字符设置样式。

答案 1 :(得分:0)

要更改线条的样式,您必须获取第一个字节和结束字节的位置。然后,您可以定义一个Style(StyleSetSpec),它从第一个字节(StartStyling)开始,并应用于整行(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)

答案 2 :(得分:0)

使用text_area是StyledCtrlText

的地方
self.text_area.StyleSetSpec(stc.STC_P_DEFAULT,"fore:#FF0000")

接下来将要更改颜色的文字放入