目标

  • [x] 总结Blender之Panel

总结

Blender之Panel需要从Blender界面组成开始理解. 直观上Blender的界面层次为 Editors ‣ Regions ‣ (Tabs) ‣ Panels ‣ Controls. 面板是用户界面的最小组织单位.

定制Blender插件界面, 就是创建一个个Panel.

解析

Blender界面

Blender界面组成

Blender界面元素层次关系为

Window ‣ Screen ‣ Areas ‣ Editors ‣ Regions ‣ (Tabs) ‣ Panels ‣ Controls

屏幕由一个或多个区域(Area)组成, 每个区域都包含一个编辑器(Editor)

区域(Area)

应用窗口在桌面上总是显示为矩形,并被分割为一些可改变大小的区域。一个区域包含特定类型编辑器的工作区,如3D视图编辑器,或者大纲视图。

区块

每个编辑器都被细分为几个小区块。An Editor is subdivided into regions.

  • 主区块
  • 标题栏(菜单和常用工具的容器)
  • 工具栏(面板)(默认在左侧)
    • 操作器面板, 它是工具栏的一部分.
  • 属性栏(默认在右侧)

选项卡(Tabs)

选项卡是用户界面中的重叠区域。选项卡可以是垂直(工具栏)或者水平的(属性编辑器、用户设置)。

面板(Panel)

面板是用户界面的最小组织单位。折叠面板可隐藏内容。 属性编辑器 使用了面板

插件UI开发

bpy.types.Panel

属性

  1. bl_space_type - 放置面板的区域(Editor) [‘EMPTY’, ‘VIEW_3D’, ‘PROPERTIES’, ...], 默认为 ‘EMPTY’
  2. bl_region_type - 放置面板的区块(Region)([Blender区域组成])
  3. bl_category - 选项卡
  4. bl_context - 选项卡2, 与内容相关的选项卡
  5. bl_idname - 关键字
  6. bl_label - 标签

方法

  1. poll(context)
  2. draw(context) - 在面板布局中绘制UI元素
  3. draw_header(context) - 在面板标题布局中绘制UI元素

Blender插件之Panel的更多相关文章

  1. Blender插件编写指南

    前言 Blender插件是Blender的利器, 用户可以使用各种插件扩充Blender的功能. Blender Python插件以bpy.props, bpy.types.Operator, bpy ...

  2. WordPress Tweet Blender插件跨站脚本漏洞

    漏洞名称: WordPress Tweet Blender插件跨站脚本漏洞 CNNVD编号: CNNVD-201310-645 发布时间: 2013-10-30 更新时间: 2013-10-30 危害 ...

  3. Blender插件加载研究

    目标 [x] 解析Blender插件代码加载原理, 为测试做准备 结论 采用方法3的方式, 可以在测试中保证重新加载子模块, 是想要的方式, 代码如下: _qk_locals = locals() d ...

  4. Blender插件初始化范例

    目标 [x] 总结Blender插件初始化范例 总结 插件模板 Blender内部插件实现方式模板功能总结如下: 定义了子模块重加载方式 定义了批量加载子模块的方式 插件注册函数 插件注销函数 模块总 ...

  5. 自己写一个jQuery垂直滚动栏插件(panel)

    html中原生的滚动栏比較难看,所以有些站点,会自己实现滚动栏,导航站点hao123在一个側栏中,就自己定义了垂直滚动栏,效果比較好看,截图例如以下: watermark/2/text/aHR0cDo ...

  6. Blender 插件整理

    系统自带插件列表: 好用的第三方插件: Align Vertices to Grease Pencil, 对齐顶点到蜡笔,   https://blenderartists.org/t/addon-a ...

  7. Blender插件之操作器(Operator)实战

    前言 在Blender中, 操作器(Operator)是它的核心. 用户通过各种操作器来创建和操作场景中的物体. 操作器对象继承自 class bpy.types.Operator(bpy_struc ...

  8. Blender 脚本之 Operator 初探

    addon(插件)用来扩展 Blender 的功能,跟其他软件里的 plugin(插件)一样,去掉不会影响软件的运行.插件可以加到 Blender 的用户偏好设置目录里,或者就在你所编辑的.blend ...

  9. Blender之Property

    目标 [x] 总结Blender插件之属性bpy.props 总结 bpy.props bpy.props模块用来扩展Blender内置数据的属性. 这些函数的结果用于为用Blender注册的类分配属 ...

随机推荐

  1. JavaScript函数和window对象

    一.什么是函数 函数的含义:类似于Java中的方法,是完成特定任务的代码语句块 使用更简单:不用定义属于某个类,直接使用 二.常用系统函数 parseInt ("字符串")     ...

  2. (转)Arcgis for Js之鼠标经过显示对象名的实现

    http://blog.csdn.net/gisshixisheng/article/details/41889345 在浏览地图时,移动鼠标经过某个对象或者POI的时候,能够提示该对象的名称对用户来 ...

  3. Golang实现常用排序算法

    主函数package main import ( "fmt" "math/rand" "sort" "time") co ...

  4. Parsing error: The keyword 'export' is reserved && error Parsing error: Unexpected token <

    如果你也在使用eslint,也报了如上错误,可以尝试: $ npm install babel-eslint --save-dev 然后,加上: rules: { "parser" ...

  5. MongoDB之Too many open files

    在Linux下有时会遇到cannot open /dev/urandom Too many open files的问题.其实Linux是有文件句柄限制的,而且Linux默认一般都是1024(阿里云主机 ...

  6. 24.基于groovy脚本进行partial update

    主要知识点 在es中其实是有内置的脚本支持的,可以基于groovy脚本实现各种各样的复杂操作 基于groovy脚本,如何执行partial update es scripting module,我们会 ...

  7. 渗透实战(周一):VMmare Fusion安装Kali Linux和win7虚拟机

    高配笔记本电脑i5/8G/265G .VMware Fusion .Kali Linux镜像 .Win7镜像  第一:下载软件 1.如果你是苹果系统,建议下载最新VMware Fusion 11.0. ...

  8. ecshop 后台增加栏目

    ① 后台左侧导航添加菜单 Ecshop后台增加一个左侧列表菜单需要修改三个文件/admin/includes/inc_menu.php /admin/includes/inc_priv.php /la ...

  9. java.lang.Object 方法解析

    1.clone() a.是一个native方法,效率比非native高 b.是protected 修饰的,要用他必须继承object,默认都是继承object的 c.返回是一个object 对象,需要 ...

  10. [bzoj1084][SCOI2005]最大子矩阵_动态规划_伪·轮廓线dp

    最大子矩阵 bzoj-1084 SCOI-2005 题目大意:给定一个n*m的矩阵,请你选出k个互不重叠的子矩阵使得它们的权值和最大. 注释:$1\le n \le 100$,$1\le m\le 2 ...