使用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 = Str
model_number = Int
vertices = Int view1 = View(
Group(
Item("model_name", label=u"模型名称"),
Item("model_file", label=u"文件名"),
Item("category", label=u"模型类型"),
label=u"模型信息",
show_border=True
),
Group(
Item("model_number", label=u"模型数量"),
Item("vertices", label=u"顶点数量"),
label=u"统计数据",
show_border=True
),
) model = ModelManager()
model.configure_traits()

    view1 = View(
Group(  
Group(
Item("model_name", label=u"模型名称"),
Item("model_file", label=u"文件名"),
Item("category", label=u"模型类型"),
label=u"模型信息",
show_border=True
),
Group(
Item("model_number", label=u"模型数量"),
Item("vertices", label=u"顶点数量"),
label=u"统计数据",
show_border=True
),
)
)

    view1 = View(
Group(
Group(
Item("model_name", label=u"模型名称"),
Item("model_file", label=u"文件名"),
Item("category", label=u"模型类型"),
label=u"模型信息",
show_border=True
),
Group(
Item("model_number", label=u"模型数量"),
Item("vertices", label=u"顶点数量"),
label=u"统计数据",
show_border=True
),
orientation="horizontal"
),
)

Group派生类(对很多属性值进行默认设置)

    view1 = View(
HSplit(  #大布局水平
VGroup(  #小布局内部垂直
Item("model_name", label=u"模型名称"),
Item("model_file", label=u"文件名"),
Item("category", label=u"模型类型"),
label=u"模型信息",
show_border=True
),
VGroup(
Item("model_number", label=u"模型数量"),
Item("vertices", label=u"顶点数量"),
label=u"统计数据",
show_border=True
),
orientation="horizontal"
),
)

内外部视图

from traits.api import Property,HasTraits,Float,cached_property,Int,Str,Event,on_trait_change
from traitsui.api import View,Item,Group,HSplit,VGroup
#View描述了界面的视图类,Item模块描述了界面中的控件类 g1 = [
Item("model_name", label=u"模型名称"),
Item("category", label=u"模型类型"),
]
g2 = [
Item("model_number", label=u"模型数量"),
Item("vertices", label=u"顶点数量"),
] class ModelManager(HasTraits):
model_name = Str
category = Str
model_number = Int
vertices = Int traits_view = View(
Group(*g1,label=u"模型信息",show_border=True),
Group(*g2,label=u"统计数据",show_border=True),
title=u"内部视图"
) global_view = View(
Group(*g1,label=u"模型信息",show_border=True),
Group(*g2,label=u"统计数据",show_border=True),
title=u"外部视图"
) model = ModelManager()
>>> model.configure_traits()  #默认是内部视图

>>> model.configure_traits(view="traits_view")  #有选择的选中某个内部视图

>>> model.configure_traits(view=global_view)  #直接将外部视图赋给view

科学计算三维可视化---TraitsUI(Group对象组织界面)的更多相关文章

  1. 科学计算三维可视化---TraitsUI的介绍

    TraitsUI的介绍 Python中存在Tkinter,wxPython,pyQt4等GUI图像界面编写库,这三类库要求程序员掌握众多的GUI API函数 对于科学计算的应用来说,我们希望可以快速的 ...

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

    TraitsUI与Mayavi实例 一:创建一个简单的TraitsUI与Mayavi实例 from numpy import sqrt,sin,mgrid from traits.api import ...

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

    一:文本编辑器 from traits.api import HasTraits,Int,Str,Password from traitsui.api import View,Item,Group,M ...

  4. 科学计算三维可视化---TraitsUI(配置视图)

    配置视图 模态窗口: from traits.api import HasTraits,Int,Strclass ModelManager(HasTraits): model_name = Str c ...

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

    View定义界面 使用View来自定义界面 class ModelManager(HasTraits): model_name = Str category = Str model_file = St ...

  6. Python科学计算三维可视化(整理完结)

    中国MOOC<Pyhton计算计算三维可视化>总结 课程url:here ,教师:黄天宇,嵩天 下文的图片和问题,答案都是从eclipse和上完课后总结的,转载请声明. Python数据三 ...

  7. 科学计算三维可视化---Mlab基础(鼠标选取交互操作)

    一:鼠标选取介绍 二:选取红色小球分析 相关方法:科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数) 1.小球场景初始化建立 import numpy as np from maya ...

  8. 科学计算三维可视化---Mlab基础(数据可视化)

    推文:科学计算三维可视化---TVTK库可视化实例 使用相关函数:科学计算三维可视化---Mlab基础(管线控制函数) 一:mlab.pipeline中标量数据可视化 通过持续实例,来感受mlab对数 ...

  9. 科学计算三维可视化---Mlab基础(管线控制函数)

    科学计算三维可视化---TVTK管线与数据加载(可视化管线和图像管线了解) 科学计算三维可视化---Mayavi入门(Mayavi管线) Mlab管线控制函数的调用 Sources:数据源 Filte ...

随机推荐

  1. 图文转换NABCD

    作为图文转化还是有很多优点的,在这里我就分析一下它的方便快捷 Need:有些非电子版的文字不方便我们编辑,图文转换可以轻而易举达到目的. Approach:现在技术手段应该还有点难度,应该可以换个方法 ...

  2. 关于rand()函数 转载于其他人

    C++中的rand()函数 分类: 编程语言/ C#/ 文章 C++中产生随机数种子对于初学者一直都很困惑.大家知道,在C中有专门的srand(N)函数可以轻松实现这一功能,然而在C++中则要复杂一些 ...

  3. BufferedWriter与BufferedRead --------------------------Test2

    package com.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; ...

  4. form表单转化json对象

    利用 $.fn 可以让每一个jquery 对象都能直接使用这个方法. //form表单转化json对象$.fn.serializeObject = function () { var o = {}; ...

  5. vue-Slot分发内容

    ①概述: 简单来说,假如父组件需要在子组件内放一些DOM,那么这些DOM是显示.不显示.在哪个地方显示.如何显示,就是slot分发负责的活. ②默认情况下 父组件在子组件内套的内容,是不显示的. 例如 ...

  6. MYSQL 碎片查询

    查询库中碎片大于1G的所有表 数据总大小:DATA_LENGTH+INDEX_LENGTH实际表空间大小: TABLE_ROWS*AVG_ROW_LENGTH碎片大小:(DATA_LENGTH+IND ...

  7. laravel报404错误与NGINX报404错误区别

      nginx自己配置的404页面 和laravel配置的404页面:如果报了404 :执行laravel的404页面: 那这个404页面对nginx来说意味着什么    laravel 路由和页面找 ...

  8. Laravel 5.1 中的异常处理器和HTTP异常处理 abort()

    原文  http://laravelacademy.org/post/1867.html 错误和异常是处理程序开发中不可回避的议题,在本地开发中我们往往希望能捕获程序抛出的异常并将其显示打印出来,以便 ...

  9. UVAlive6439_Pasti Pas!

    题目是说给你一个字符串,现在要你用一些特殊的符号代替这个字符串中某一些子串,使得被替换后的串是一个回文串. 现在要你求替换后的字符串的最大的可能的长度. 其实这个题目没有什么固定的算法哦,我直接暴力就 ...

  10. Post Lamps CodeForces - 990E(暴力出奇迹?)

    题意: 在一个从0开始的连续区间上  放置几个小区间,使得这些小区间覆盖整个大区间,不同长度的小区间有不同的花费,其中有m个点,小区间的左端点不能放在这些点上 解析: 显然如果0是这m点中的一个 则无 ...