我对派生类有一个小问题,wx.ListItem
即wx.ListCtrl
. 我成功地导出wx.ListItem
为 a MediaItem
,代码还没有完成,但你明白了:
class MediaItem(wx.ListItem):
def __init__ (self, fullname):
wx.ListItem.__init__(self)
self.fullname = fullname
self.filename = os.path.basename(fullname)
# snap...
def getFullname(self):
return self.fullname
wx.ListCtrl
很高兴接受这一点,因为 Python 的鸭子哲学。但现在的问题是,使用该方法wx.ListCtrl.GetItem(index)
返回的是 a ListItem
,而不是MediaItem
。Python 抱怨wx.ListItem
没有属性getFullname
。
铸造对象似乎是解决解决方案的错误方法。这可能与问题无关,但我也粘贴了有问题的行:
filename = self.filelist.GetItem(event.GetIndex()).getFullname()
self.filelist
一个在哪里wx.ListCtrl
。