我正在尝试创建一个 HasTraits 对象,其中包含另一个 HasTraits 对象的其他几个不同实例。但是,当我在主对象中初始化许多 HasTraits 对象时,我似乎总是遇到问题。
我在下面制作了一个产生错误的简单示例。有人可以解释最好的方法吗?-我不知道什么时候应该使用 traits.Instance(traits.Int) 或仅使用 traits.Int -如何在构造函数中为特征传递初始值?每当我这样做时,我都会收到诸如“type int required but found type traits.Int”之类的错误
谢谢你的帮助
import enthought.traits.api as traits
import enthought.traits.ui.api as traitsui
class Simple(traits.HasTraits):
minimum = traits.Int()
maximum= traits.Int()
ranged = traits.Range(minimum, maximum)
traits_view = traitsui.View(traitsui.Group(
traitsui.Item('minimum'),
traitsui.Item('maximum'),
traitsui.Item('ranged')
))
class Complex(traits.HasTraits):
s1=Simple(minimum=1.0,maximum=5.0)
s2=Simple(minimum=2.0,maximum=10.0)
s3=Simple(minimum=traits.Int(1.0),maximum=traits.Int(5.0))
traits_view = traitsui.View(traitsui.Group(
traitsui.Item('s1'),
traitsui.Item('s2')
))
c= Complex()
c.configure_traits()