【发布时间】:2015-03-03 04:47:33
【问题描述】:
我无法发布擦除背景事件以绘制到屏幕上。在我的完整代码中,我想在单击按钮时绘制位图 (DC.DrawBitmap())。我通过发布一个由自定义绑定方法捕获的 EVT_ERASE_BACKGROUND 事件来做到这一点。但是,一旦在那个方法中,正常工作的 event.GetDC() 方法就会失败。
这是一个具有相同结果的简化代码:
导入 wx 类Foo(wx.Frame): def __init__(self, parent, title): wx.Frame.__init__ (self, parent, -1, title, size=(500,300)) self.panel = wx.Panel(self, -1) self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) self.Bind(wx.EVT_ENTER_WINDOW, self.onEnter) 自我展示() def OnEraseBackground(self, e): DC = e.GetDC() def onEnter(self, e): wx.PostEvent(自我,wx.PyCommandEvent(wx.wxEVT_ERASE_BACKGROUND)) 应用程序 = wx.App() 富(无,'富') app.MainLoop()这引发了:
AttributeError: 'PyCommandEvent' 对象没有属性 'GetDC'
我该如何解决这个问题?
【问题讨论】: