wxPython StyledTextCtrl Set(Partial)文本C

2024-06-24 12:06:31 发布

您现在位置:Python中文网/ 问答频道 /正文

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

露西是蓝色的

我只想把“蓝色”这个词涂成蓝色


Tags: 文本颜色单词蓝色露西styledtextctrl
3条回答

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

如果text_area是StyledCtrlText,请使用此选项

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

下一步把你想改变颜色的文字

有关StyledTextCtrl,请参见wxPython演示。它展示了如何做到这一点。我想你要找的是这样的:

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

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

相关问题 更多 >