更改StyledTextCtrl的字体颜色

时间:2012-06-03 18:59:09

标签: python wxpython wxwidgets

我正在尝试更改以下StyledTextCtrl的默认字体颜色, 我已经测试了一段时间并更改了十六进制代码值但是我似乎无法改变颜色。 (我希望它是紫色的)。当前的默认颜色为黑色。

当我添加

self.StyleSetForeground(wx.stc.STC_STYLE_DEFAULT,wx.Colour(230, 230, 250))

它会更改行号的颜色。 (在StyledTextCtrl一侧,它显示您所在的行)。

有没有人知道解决方案,或者可能导致冲突?

1 个答案:

答案 0 :(得分:1)

self.StyleSetForeground(wx.stc.STC_STYLE_DEFAULT,wx.Colour(230, 230, 250))只会更改默认样式的颜色。

您的代码使用了许多不同的样式,每种样式都指定了自己的颜色。请注意以下代码中的“fore”参数:

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()将所有文本重置为默认值样式)。