【发布时间】:2014-02-13 23:51:44
【问题描述】:
我这样定义PyControl 的子类:
class MyBitmapButton(wx.PyControl):
def __init__(self, parent, id=-1, bmp=None, label='blah', pos = wx.DefaultPosition, size=(166,220), style = 0, validator = wx.DefaultValidator,
name = "mybitmapbutton"):
style |= wx.BORDER_NONE
wx.PyControl.__init__(self, parent, id, pos, size, style, validator, name)
self.myimg = wx.StaticBitmap(self, -1, bmp, pos=(8,8), size=(150,150))
self.mytxt = wx.StaticText(self, -1, label, (6,165))
def Bind(self, *args, **kwargs):
self.Bind(*args, **kwargs) # infinite recursion problem !
self.myimg.Bind(*args, **kwargs)
self.mytxt.Bind(*args, **kwargs)
我想覆盖标准Bind,但在这个定义中,我需要使用old绑定(由wx.PyControl提供)。
使用当前代码,我遇到了infinite recusion loop 问题:
如何在new Bind 的定义中重用old Bind ?
【问题讨论】:
-
两个答案同时出现,质量相同,所以我真的不知道该选择哪个答案?抱歉,我给了 2 个答案之一,我随机给出了“接受为答案”!
标签: python class wxpython subclass