我正在使用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}
答案 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机器上。