我们可以在WxPython中更改复选框文本的背景颜色吗?

时间:2013-05-13 12:17:46

标签: wxpython

我们可以在WxPython中更改复选框文本的背景颜色吗? 我希望方框的整个区域+附加文本,以特定的颜色

checkbox = wx.CheckBox(self.panel, -1, 'Label',  (5, 5)

因此,目标是更改复选框和标签

背景颜色

checkbox.SetBackgroundColour('blue')只会将复选框的方块更改为蓝色,但我想要除了那之外的所有内容(包括标签的背景)

3 个答案:

答案 0 :(得分:0)

是的只是

import wx

然后定义你的班级

class my_window(wx.Frame):

设置尺寸

wx.Frame.__init__(self,parent,id,'My Window', size=(300,200))

和颜色

self.SetBackgroundColour(wx.BLUE)

对于标签,您必须使用SetForegroundColor

  self.label2.SetForegroundColour("yellow")

答案 1 :(得分:0)

我不相信复选框小部件支持它。即使这样,它也可能不支持所有平台。因为wxPython尽可能地包装本机窗口小部件,所以有时本机窗口小部件不允许更改前景或背景或两种颜色。真正令人困惑的是当一个版本的OS允许它而另一个版本不允许它时。

Rachel上面提出的是将整个面板设置为不同的颜色。如果您堆叠面板,这可能会有效。将面板放在框架上,然后将另一个面板放在主面板的顶部,并将复选框放在第二个面板的顶部。您可能需要手动设置面板的大小。

或者您可能需要自己编写自定义小部件。 wx.lib和wxPython wiki上有一些例子。

答案 2 :(得分:0)

self.checkbox.SetBackgroundColour(wx.Colour(255,255,128))

我从wxFormBuilder生成的代码中得到了这个。我发现首先尝试设计外观然后进一步修改以满足我的需求更容易..