更改wxpython单选按钮的字体颜色

时间:2015-06-17 19:52:41

标签: python radio-button wxpython

我使用的是wxpython版本2.9.4.0和python 2.7.9。

我正在尝试更改单选按钮的文本颜色。 我初始化:

button = wx.RadioButton(panel, -1, 'Line', (200, 300))

我可以通过以下方式更改单选按钮周围的颜色:

button.SetBackgroundColour((150, 150, 150))

但这不是我想要的行为。我想改变文本的颜色,而不是它周围的区域。我期望更改前景色会改变单选按钮的文本颜色,因为这是静态文本的颜色更改方式(如此处Change the colour of a StaticText, wxPython所示)。我用于此的代码是:

button.SetForegroundColour((0, 255, 0))

但是,由于我不知道的原因,这并没有改变任何关于单选按钮的内容。 我错了,这个命令应该改变单选按钮的文本颜色,如果是,那么正确的命令是什么?

提前致谢!

2 个答案:

答案 0 :(得分:1)

SetForegroundColoourSetBackgroundColour方法无法保证正常工作。原因是wxPython使用本机小部件来运行它所运行的操作系统。如果本机窗口小部件不支持更改文本的颜色,则这些方法将不起作用。某些小部件允许在Mac上更改颜色,而Windows上的相同小部件则不允许。

如果您确实需要在单选按钮中更改文本颜色,那么您可能需要创建自定义小部件。请参阅以下内容:

答案 1 :(得分:0)

使用无标签的wx.RadioButton                和 在其旁边放一个wxStaticText 并根据需要设置前景色