科学计算三维可视化---TraitsUI(控件)

一:文本编辑器

from traits.api import HasTraits,Int,Str,Password
from traitsui.api import View,Item,Group,ModalButtons
#View描述了界面的视图类,Item模块描述了界面中的控件类

class TextEdit(HasTraits):
    #定义文本编辑器的变量
    string_trait = Str("sample string")
    password = Password
    #定义布局
    text_str_group = Group(
        Item("string_trait",style="simple",label="Simple"),  #value,style,label
        Item("_"),  #分割线
        Item("string_trait", style="custom", label="Custom"),
        Item("_"),
        Item("password", style="simple", label="password"),
    )

    #定义视图
    traits_view = View(
        text_str_group,
        title = "TextEditor",
        buttons = [‘OK‘]
    )

text = TextEdit()
text.configure_traits()

二:按钮控件

from traits.api import HasTraits,Int,Button
from traitsui.api import View
#View描述了界面的视图类,Item模块描述了界面中的控件类

class ButtonEditor(HasTraits):
    my_button = Button(u"点击我")
    counter = Int

    def _my_button_fired(self):
        self.counter += 1

    traits_view = View(
        ‘my_button‘,
        ‘counter‘,
        title = "ButtonEditor",
        buttons = [‘ok‘],
        resizable = True
    )

button = ButtonEditor()
button.configure_traits()

三:滑动条

from traits.api import HasTraits,Range,Property,property_depends_on,Int
from traitsui.api import View,Item,RangeEditor
#View描述了界面的视图类,Item模块描述了界面中的控件类

class RangeDemo(HasTraits):
    a = Range(1,10)
    b = Range(1,10)
    c = Property(Int)

    view = View(
        Item(‘a‘),
        Item(‘b‘),
        Item("_"),
        Item("c",editor=RangeEditor(low=1,high=20,mode="slider")),  #将c声明为一个滚动条
        Item("c"),
        width = 0.3
    )

    @property_depends_on([‘a‘,‘b‘],settable=HasTraits)  
    def _get_c(self):  #两个c都会修改
        return self.a + self.b

ran = RangeDemo()
ran.configure_traits()

四:菜单和工具栏

其他控件列表:

原文地址:https://www.cnblogs.com/ssyfj/p/9310758.html

时间: 2024-07-29 17:10:25

科学计算三维可视化---TraitsUI(控件)的相关文章

科学计算三维可视化---TraitsUI与Mayavi实例

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

科学计算三维可视化---TraitsUI(View定义界面)

View定义界面 使用View来自定义界面 class ModelManager(HasTraits): model_name = Str category = Str model_file = Str model_number = Int view = View( Item("model_name", label=u"模型名称"), #将Traits属性和Item关联起来,分别定义标签,中文需要使用u Item("model_file", la

科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)

一:Mayavi库的基本元素 1.处理图形可视化和图形操作的mlab模块 2.操作管线对象,窗口对象的api (一)mlab模块 (二)mayavi的api 二:快速绘图实例 (一)mlab.mesh的使用,快速创建绘图 >>> x = [[-1,1,1,-1,-1],[-1,1,1,-1,-1]] >>> y = [[-1,-1,-1,-1,-1],[1,1,1,1,1]] >>> z = [[1,1,-1,-1,1],[1,1,-1,-1,1]]

科学计算三维可视化---Mayavi可视化实例

一:Dragon绘制实例(三维扫描的绘制) 三维扫描主要用于对物体空间外形结构以及色彩进行扫描,用以获得物体表面的空间坐标, 他的主要意义在于能够将实物的立体信息转换为计算机能够直接处理的数据信号,为实物的数字化提供了相对方便快捷的手段, 因此,三维扫描为工业建模,文物保存,虚拟空间构建都起到了非常重要的作用. 下载地址:http://graphics.stanford.edu/data/3Dscanrep/,页面搜索Dragon即可 提取文件 import tarfile,os #读取tar压

科学计算三维可视化---TVTK库可视化实例

一:TVTK库可视化实例 Plot3D文件知识:PLOT3D 数据格式 PLOT3D文件分为网格文件(XYZ 文件), 空气动力学结果文件 (Q 文件)和通用结果文件(函数文件 + 函数名称文件).网格文件中可加入所谓的IBlank参数. (一)标量数据可视化(等值面) generate_values()创建等值面 from tvtk.api import tvtk from Tvtkfunc import ivtk_scene,event_loop def read_data(): #导入数据

科学计算三维可视化---Traits(Property属性)

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

科学计算三维可视化---TVTK入门(数据加载)

一:数据加载 大多数可视化应用的数据并非是在TVTK库中构建的,很多都是通过接口读取外部数据文件 (一)使用vtkSTLReader来读取外部文件 .stl 文件是在计算机图形应用系统中,用于表示三角形网格的一种文件格式.格式简单,应用广泛 def ivtk_scene(actors): from tvtk.tools import ivtk # 创建一个带有Crust(Python Shell)的窗口 win = ivtk.IVTKWithCrustAndBrowser() win.open(

MFC可视化 列表控件的使用

1.应该加入头文件 #include <Atlbase.h> 2.示例 类向导给列表控件绑定变量m_list DWORD   dwExStyle=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_FLATSB; m_list.ModifyStyle(0,LVS_REPORT|LVS_SINGLESEL|LVS_SHOWSELALWAYS);m_list.SetEx

科学计算和可视化

今天的主题是有关科学计算和可视化的,其中将会包括有python的第三方库numpy以及matplotlib的学习总结及应用! 有所涉猎的同学一定对这两个库并不陌生!它们分别是对数组的处理和数据处理的图表制作工具,在数据处理方面它们都有不俗的表现! 接下来先让我简单介绍一下这两个库~(安装过程就不详述啦~pip install +库就能随心安装,或者你也可以选择直接安装Anaconda 强大的库函数多到你用不完,里面自然有今天所要展开了解的两个库啦~) numpy: 概述:numpy(Numeri