Я пытаюсь создать объекты HasTraits, которые содержат несколько других экземпляров другого объекта HasTraits. Тем не менее, я всегда сталкиваюсь с проблемами при инициализации многих объектов HasTraits в главном объекте.Вложенные объекты HasTraits, как правильно инициализировать
Я привел простой пример, который дает ошибку. Может ли кто-нибудь объяснить лучший способ сделать это? -I никогда не знаю, когда я должен использовать черты.Instance (traits.Int) или просто traits.Int -Как передать исходные значения для признаков в конструкторе? Всякий раз, когда я делаю это я получаю ошибки как «тип INT требуется, но нашел тип 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()
У кого-нибудь есть идеи для этого? Спасибо – user2175850
Представленный здесь код все равно не сможет представить читаемые результаты, даже если исходные черты. Решена проблема. Лучше всего уменьшить вопросы, заданные на этом форуме, по отдельным вопросам. Насколько я могу судить, вы сначала спрашиваете, как определить диапазон с помощью связанного признака в пределах одного объекта, определенного в классе Simple. Похоже, что с классовым комплексом возникает больше проблем, о которых поставленный вопрос не совсем подходит. Я отброшу свой ответ в отношении диапазона Range «range» ниже, но вы можете подумать о разделении вопросов, связанных с «Комплексом», на другой вопрос. – OYRM