5

现在,我正在设置这样的背景颜色,

dc.DrawRectangle(0,0,width,height)

你知道设置背景颜色的更好方法吗?

http://wxpython.org/docs/api/wx.DC-class.html

4

2 回答 2

4

如果您已经在 awx.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...
于 2016-10-13T02:48:36.683 回答
1

适用于大多数窗口(包括按钮和其他小部件)的正常方法是调用 wxWindow::SetBackgroundColour()

http://docs.wxwidgets.org/2.8/wx_wxwindow.html#wxwindowsetbackgroundcolour

巧妙的是,如果你在最顶层的父级上调用它,所有的子级将自动继承相同的背景颜色。请参阅链接以了解其工作原理。

于 2012-08-01T20:45:22.407 回答