【问题标题】:Changing font colour of StyledTextCtrl更改 StyledTextCtrl 的字体颜色
【发布时间】:2012-06-03 18:59:09
【问题描述】:

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

当我添加时

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

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

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

【问题讨论】:

  • 您可能想修剪您的代码,只向我们展示相关部分。

标签: python wxpython wxwidgets


【解决方案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() 将所有文本重置为默认样式)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-07
    • 2013-11-14
    • 2014-01-19
    • 2015-01-02
    • 2014-05-03
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    相关资源
    最近更新 更多