微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何更改 wxPython StyleTextCtrl 中特定单词的颜色?

如何解决如何更改 wxPython StyleTextCtrl 中特定单词的颜色?

在这里,我尝试使用 wxpython 中的 styletextctrl 为特定单词着色。但是单词的颜色不是保持不变的。我怎么解决这个问题。我想为我自己的编程语言文本突出显示

我不想改变整个文本字符串的颜色。它必须是特定的词。

这是我的代码

self.text_control = stc.StyledTextCtrl(self,style=wx.TE_MULTILINE | wx.TE_WORDWRAP)

self.font = wx.Font(10,wx.FONTFAMILY_DEFAULT,wx.FONTSTYLE_norMAL,wx.FONTWEIGHT_norMAL,True)

self.font = wx.Font(10,True)

self.text_control.SetViewWhiteSpace(False)
self.text_control.SetMargins(5,0)
self.text_control.SetMarginType(1,stc.STC_MARGIN_NUMBER)
self.text_control.SetMarginWidth(1,self.leftMargin)

self.text_control.StyleSetSpec(stc.STC_STYLE_LINENUMBER,'fore:#000000,back:#e8e8e8')

self.text_control.StyleSetFont(1,self.font)

text = self.text_control
code = text.Text
code = code.split(' ')

for i in code:

if filetype == "":

                if i == "import":
                    text.StyleSetSpec(wx.TE_HT_ON_TEXT,'fore:#235644')
                    #text.SetDefaultStyle(wx.TEXT_ATTR_TEXT_COLOUR(wx.BLUE))
                    #text.SetBackgroundColour(wx.BLUE)

                else:
                    text.StyleSetSpec(wx.TE_HT_ON_TEXT,'fore:#111111')
                    #text.SetDefaultStyle(wx.TEXT_ATTR_TEXT_COLOUR(wx.NullColour))
                    #text.SetBackgroundColour(wx.NullColour)


            elif filetype == "Python File":
                text.StyleSetSpec(wx.TEXT_ATTR_EFFECT_SHADOW,'fore:#235644,back:#e8e8e8')

            elif filetype == "C++ File":
                pass

            else:
                pass;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。