TraitsUI对象的继承

时间:2014-05-06 21:02:49

标签: enthought traitsui

我正在尝试制作一个Traits gui基类,我还有其他类要继承这个类中的一些项目(即组)。我不想完全继承这些类之间的视图,只是一些对象。

当我尝试

例如:

from enthought.traits.api import Int, Str, Array, Instance, HasTraits, Float, Enum, Bool, Range
from enthought.traits.ui.api import View, Group, HGroup, VGroup, Item, spring

class A(HasTraits):
u = Int(23)
i = Int(66)
group1 = Group(Item('u'))
group2 = Group(Item('i'))
main = View(group1,group2)

class B(A):
group1 = a.group1 # I have tried this with a().group1 as well
o = Str('4345')
p = Str('3423')
group2 = Group(Item('o'))
group3 = Group(Item('p'))
main = View(group1,group2,group3)

#----------

我知道这是一个荒谬的例子,但它说明了这一点。当我尝试创建一个B类实例时,我得到的错误是A类没有属性'group1'。

在普通的python类中,这不是问题,但不知何故,这些TraitsUI组对象是隐藏的。有谁知道是否有解决方法?

这适用于其他Traits类型(即Int()),就我所测试的情况而言,不适用于Group。

谢谢!

1 个答案:

答案 0 :(得分:1)