TraitsUI与Mayavi实例 一:创建一个简单的TraitsUI与Mayavi实例 from numpy import sqrt,sin,mgrid from traits.api import HasTraits,Instance from traitsui.api import View,Item from tvtk.pyface.scene_editor import SceneEditor from mayavi.tools.mlab_scene_model import Mlab…
Traits属性的功能 Traits库为python的属性增加了类型定义的功能,除此之外他还提供了5个特殊的功能(可以为用户的界面响应提供基本能力):初始化:每个traits属性都有自己的默认值验证:是traits属性有明确的类型定义,只有满足定义的值时才能给他赋值代理:traits属性值可以代理给其他对象实例的属性监听:是为了当traits属性发生变化时,可以运行事先指定的函数可视化:是拥有traits属性的对象,可以方便的生成可以编辑traits属性的界面 使用 from traits.ap…
Property属性 使用Property函数为类创建Property属性,Property属性用法和一般属性相同,但是他在获取值和赋值时会调用相应的方法 traits库也提供了Property属性 from traits.api import Property from traits.api import Property,HasTraits,Float,cached_property class rectangle(HasTraits): w = Float(1.0) h = Float(2…
使用Group对象组织界面 将一组相关的Item对象组织在一起 from traitsui.api import Group from traits.api import HasTraits,Int,Str from traitsui.api import View,Item,Group #View描述了界面的视图类,Item模块描述了界面中的控件类 class ModelManager(HasTraits): model_name = Str category = Str model_file…
Traits属性的监听 HasTraits对象所有Traits属性都自动支持监听功能,当每个Traits属性发生变化时,HasTraits对象会通知监听此属性的函数 两种监听模式 静态监听 动态监听 from traits.api import HasTraits,Int,Str class Child(HasTraits): name = Str age = Int doing = Str def __str__(self): return "%s<%x>"%(self.…