我们可以在 WxPython 中更改复选框文本的背景颜色吗?我希望方形框的整个区域 + 附加文本具有特定颜色
checkbox = wx.CheckBox(self.panel, -1, 'Label', (5, 5)
所以目标是改变复选框和标签的背景颜色
checkbox.SetBackgroundColour('blue') 仅将复选框的正方形更改为蓝色,但我想要除此之外的所有内容(包括标签的背景)
我们可以在 WxPython 中更改复选框文本的背景颜色吗?我希望方形框的整个区域 + 附加文本具有特定颜色
checkbox = wx.CheckBox(self.panel, -1, 'Label', (5, 5)
所以目标是改变复选框和标签的背景颜色
checkbox.SetBackgroundColour('blue') 仅将复选框的正方形更改为蓝色,但我想要除此之外的所有内容(包括标签的背景)
是的只是
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")
self.checkbox.SetBackgroundColour(wx.Colour(255,255,128))
我从 wxFormBuilder 生成的代码中得到了这个。我发现先尝试设计外观然后进一步修改它以满足我的需要更容易..
我不相信复选框小部件支持这一点。即使支持,它也可能并非在所有平台上都支持它。因为 wxPython 尽可能地封装了原生的小部件,所以有时原生的小部件不允许更改前景色或背景色或两种颜色。真正令人困惑的是,当一个操作系统版本允许它而另一个版本不允许时。
Rachel 上面的建议是将整个面板设置为不同的颜色。如果您堆叠面板,这可能会起作用。将一个面板放在框架上,然后将另一个面板放在主面板的顶部,并将复选框放在第二个面板的顶部。不过,您可能必须手动设置面板的大小。
或者您可能必须自己编写自定义小部件。wx.lib 和 wxPython wiki 中有示例。