我正在尝试更改以下 StyledTextCtrl 的默认字体颜色,我已经对此进行了一段时间的测试并更改了十六进制代码值,但是我似乎无法让它更改颜色。(我希望它是紫色的)。当前默认颜色为黑色。
当我添加
self.StyleSetForeground(wx.stc.STC_STYLE_DEFAULT,wx.Colour(230, 230, 250))
它改变了行号的颜色。(在 StyledTextCtrl 的一侧,它显示了您所在的行)。
有谁知道解决方案,或者可能是什么导致了冲突?
self.StyleSetForeground(wx.stc.STC_STYLE_DEFAULT,wx.Colour(230, 230, 250))
只会改变默认样式的颜色。
您的代码使用许多不同的样式,每种样式都指定了自己的颜色。请注意以下代码中的“前”参数:
self.StyleSetSpec(stc.STC_P_COMMENTLINE,
"fore:#007F00,face:%(other)s,size:%(size)d" % faces)
您的行号似乎使用默认样式,而所有其他文本都使用自己的样式。我不明白样式是在哪里设置的,所以我无法解释为什么行号不使用wx.stc.STC_STYLE_LINENUMBER
.
因此,要么删除self.StlyeSetSpec()
调用,要么在初始化程序的末尾包含你的self.StyleSetForeground()
调用(不要忘记调用self.StyleClearAll()
以将所有文本重置为默认样式)。