我使用的是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))
但是,由于我不知道的原因,这并没有改变任何关于单选按钮的内容。 我错了,这个命令应该改变单选按钮的文本颜色,如果是,那么正确的命令是什么?
提前致谢!
答案 0 :(得分:1)
SetForegroundColoour
和SetBackgroundColour
方法无法保证正常工作。原因是wxPython使用本机小部件来运行它所运行的操作系统。如果本机窗口小部件不支持更改文本的颜色,则这些方法将不起作用。某些小部件允许在Mac上更改颜色,而Windows上的相同小部件则不允许。
如果您确实需要在单选按钮中更改文本颜色,那么您可能需要创建自定义小部件。请参阅以下内容:
答案 1 :(得分:0)
使用无标签的wx.RadioButton 和 在其旁边放一个wxStaticText 并根据需要设置前景色