CheckListEditors 是否能够处理不是字符串但实现__str__
和的对象列表__repr__
?
问问题
39 次
1 回答
0
不是这样的。CheckListEditor 假定值是字符串或 (element, string) 的元组。它isinstance(basestring)
在对象上使用来检查它们是否是字符串,如果不是,则假定它们是(元素,字符串)的元组。
在某些情况下,提供 (element,string) 的元组并不是特别方便。当列表中的元素是模型对象的特征时,这主要是正确的——提供 (element,name) 元组的特征有点尴尬。然而,实现索引是一种方便的解决方法(或可怕的 hack),它使 CheckListEditor 误以为 (element,name) 元组就是它所得到的。
class Nameable(HasTraits)
def __repr__(self): return "Some String Representation"
def __getitem__(self,key):
if key==0: return self
elif key==1: return self.__repr__()
else: raise KeyError
于 2013-11-07T16:23:19.890 回答