我正在尝试创建一个 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 Group 对象被隐藏了。有谁知道是否有解决方法?
这确实适用于其他 Traits 类型(即 Int() ),但就我所测试的而言,不适用于 Groups 。
谢谢!