0

別の 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()
4

1 に答える 1