GetSubBitmap()在windows7上返回空位图

时间:2016-02-01 14:40:35

标签: python wxpython

我正在使用wx.Bitmap的GetSubBitmap()API。在linux(ubuntu,fedora)上一切都好。试图将代码移植到windows7,GetSubBitmap()返回空位图,这导致黑色位图。

以下是在面板上某处定期绘制绿色矩形的简单示例。在Windows7上,它变成黑色矩形。

{..., creationTime: 1000, isDeleted: false, index=D:1000}
{..., creationTime: 1002, isDeleted: true, index=D:1002}
{..., creationTime: 1000, isDeleted: false, index=F:1000}
{..., creationTime: 1001, isDeleted: false, index=F:1001}
{..., creationTime: 1002, isDeleted: false, index=F:1003}

1 个答案:

答案 0 :(得分:0)

def BufferPaint(self):
    dc = wx.MemoryDC()
    dc.SelectObject(self.buffer)
    dc.SetBackground(wx.Brush("red"))
    dc.Clear()
    dc.SetBrush(wx.Brush("green"))
    dc.DrawRectangleRect( wx.Rect(random.randint(0,600),random.randint(0,400),30,30) )
    self.Refresh(False)

我在示例代码中修改了BufferPaint以使用DrawRectangleRect,因此我们使用" green"明确地绘制。您的代码可能依赖于默认行为GetSubBitmap如何继承可能与平台相关的颜色。

我的编辑工作在我的win7机器上。