如何用不同颜色为StaticText(wxpython)中的文本着色?

时间:2010-12-12 02:16:06

标签: python wxpython

以某种方式可以让wxpython中的StaticText字段的文本以不同的颜色着色吗?我知道你可以改变一个StaticText字段的整个文本(值)的颜色,如下所示:

text = wx.StaticText(panel, -1, 'random text')
text.SetForegroundColour('blue')

但是我怎样才能让文字以不同颜色着色,例如“随机”用红色染色,“文字”用蓝色染色。有办法吗?或者我可以使用某种其他小部件吗?

3 个答案:

答案 0 :(得分:1)

wx.StaticText小部件不支持这种事情。您想要使用其中一个StyledText控件。 RichText控件也可能会起作用。

答案 1 :(得分:0)

这应该有所帮助。

text.SetForegroundColour((255,0,0)) # set text color
text.SetBackgroundColour((0,0,255)) # set text back color

*颜色为RGB格式。 您可以找到它们的列表here。用你想要的任何颜色替换我输入的数字。

答案 2 :(得分:0)

也许聚会晚了一点,但也许对某人有帮助。

根据您所处的平台,可以使用方法SetLabelMarkup,该方法允许使用类似HTML的标记。它不适用于Windows,但适用于某些Linux版本。

例如,如果您想使用双色文字,则可以编写

text.SetLabelMarkup('<span foreground=\'red\'>Hello, </span><span foreground=\'blue\'>World</span>

可以找到文档here

Picture: Result on Raspbian