我们可以在WxPython中更改复选框文本的背景颜色吗? 我希望方框的整个区域+附加文本,以特定的颜色
checkbox = wx.CheckBox(self.panel, -1, 'Label', (5, 5)
因此,目标是更改复选框和标签
的背景颜色checkbox.SetBackgroundColour('blue')只会将复选框的方块更改为蓝色,但我想要除了那之外的所有内容(包括标签的背景)
答案 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生成的代码中得到了这个。我发现首先尝试设计外观然后进一步修改以满足我的需求更容易..