小编Pte*_*ium的帖子

从类构造函数[Python/Traits]中更改属性参数

我是python的新手 - 对不起,如果我的术语错了.我有一个继承了Enthought Traits属性的类.这是一个简化版本:

from enthought.traits.api import HasTraits, Range
from enthought.traits.ui.api import View, Item

class GUIThing(HasTraits):

    my_slider = Range(0.0, 0.6, 0.1)
    my_slider._high = 0.7   # works; not what I need 'coz not instance-dependent

    view = View( Item('my_slider') )

    def __init__(self, arg1):
        # Call the parent's __init__
        HasTraits.__init__(self)

        self.my_slider._high = arg1  # what I need; doesn't work

# -- Main program -----

top_range = 0.9

my_gui = GUIThing(top_range)
my_gui.configure_traits()
Run Code Online (Sandbox Code Playgroud)

这只是创建一个带滑块的窗口,最初从0.0到0.6,初始值为0.1.创建GUIThing实例时,我想根据当前top_range值改变滑块的最大值.但行

self.my_slider._high = arg1

结果是

AttributeError: …

python constructor traits

6
推荐指数
1
解决办法
1060
查看次数

标签 统计

constructor ×1

python ×1

traits ×1