0

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

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

所以目标是改变复选框和标签的背景颜色

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

4

3 回答 3

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")
于 2013-05-13T12:25:13.517 回答
0

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

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

于 2014-12-09T08:10:17.527 回答
0

我不相信复选框小部件支持这一点。即使支持,它也可能并非在所有平台上都支持它。因为 wxPython 尽可能地封装了原生的小部件,所以有时原生的小部件不允许更改前景色或背景色或两种颜色。真正令人困惑的是,当一个操作系统版本允许它而另一个版本不允许时。

Rachel 上面的建议是将整个面板设置为不同的颜色。如果您堆叠面板,这可能会起作用。将一个面板放在框架上,然后将另一个面板放在主面板的顶部,并将复选框放在第二个面板的顶部。不过,您可能必须手动设置面板的大小。

或者您可能必须自己编写自定义小部件。wx.lib 和 wxPython wiki 中有示例。

于 2013-05-13T13:29:03.863 回答