现在,我正在设置这样的背景颜色,
dc.DrawRectangle(0,0,width,height)
您知道更好的方法来设置背景颜色吗?
答案 0 :(得分:2)
如果您已经在wx.DC
上绘画以绘制窗口的其余内容,那么最好的方法是设置背景画笔,然后清除DC。像这样:
def OnPaint(self, event):
dc= wx.PaintDC(self)
dc.SetBackground(wx.Brush(someColour))
dc.Clear()
# other drawing stuff...
如果您使用窗口的SetBackgroundColour
方法设置颜色,那么您可以使用它而不是某些固定颜色值,如下所示:
def OnPaint(self, event):
dc= wx.PaintDC(self)
dc.SetBackground(wx.Brush(self.GetBackgroundColour()))
dc.Clear()
# other drawing stuff...
答案 1 :(得分:1)
适用于大多数窗口(包括按钮和其他小部件)的常规方法是调用wxWindow :: SetBackgroundColour()
http://docs.wxwidgets.org/2.8/wx_wxwindow.html#wxwindowsetbackgroundcolour
巧妙的是,如果你在最顶层的父级上调用它,所有的孩子都会自动继承相同的背景颜色。请参阅链接了解其运作方式。