目标

  • [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. css属性代码大全总结(一)

    一 CSS文字属性: color : #999999; /*文字颜色*/ font-family : 宋体,sans-serif; /*文字字体*/ font-size : 9pt; /*文字大小*/ ...

  2. C#:winform项目在win7,xp32位和64位都能运行

    vs中项目配置管理器活动解决方案平台选择X86平台.

  3. Java中RunTime.getRunTime().addShutdownHook用法

    今天在阅读Tomcat源码的时候,catalina这个类中使用了下边的代码,不是很了解,所以google了一下,然后测试下方法,Tomcat中的相关代码如下: Runtime.getRuntime() ...

  4. PAT_A1113#Integer Set Partition

    Source: PAT A1113 Integer Set Partition (25 分) Description: Given a set of N (>) positive integer ...

  5. Vue push() pop() shift() unshift() splice() sort() reverse() ...

    Vue 变异方法 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度. pop() 方法用于删除并返回数组的最后一个元素. shift() 方法用于把数组的第一个元素从其中删除,并返回 ...

  6. LeetCode SQL题目(第一弹)

    LeetCode SQL题目 注意:Leetcode上的SQL编程题都提供了数据表的架构程序,只需要将它贴入本地数据库即可调试自己编写的程序 不管是MS-SQL Server还是MySQL都需要登陆才 ...

  7. 程序包管理rpm和yum

    Linux程序包管理: API:Application Programming Interface源码包 POSIX:Portable OS 程序源代码 --> 预处理 --> 编译 -- ...

  8. 10.IDEAD 的xml中配置DTD

    此时发现最后一行已经变成绿色就说明可以了,有提示了

  9. Mysql学习总结(38)——21条MySql性能优化经验

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情. 当我们去设计数据库表结构,对操作数 ...

  10. LCS,LIS,LCIS

    网站:CSUST 8月3日(LCS,LIS,LCIS) LCS:      以下讲解来自:http://blog.csdn.net/yysdsyl/article/details/4226630 [问 ...