kivyterminal/ui/kivyblocks/blocks.md
2023-08-13 15:44:52 +08:00

48 lines
1.5 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Blocks
Blocks是kivyblocks的核心类负责将字典类型的数据转化为GUI的Widget。
Blocks也注册到了kivy.factory.Factory中可以使用
```
blocks = Factory.Blocks()
```
初始化实例
## 方法
### widgetBuild(desc)
#### 参数
* desc 1) 字典类型, Widget描述的字典数据
2) 字符串可通过json导入的字符串
#### 返回值
成功返回创建的widget实例
失败返回空
#### 事件
如果创建widget成功触发”on_built"事件,
如果创建widget失败将触发“on_failed”事件
事件处理函数的例子如下:
创建成功:
```
def on_built(o, w):
pass
```
其中o为Blocks实例 w为新建widget的实例
创建失败
```
def on_failed(o,e):
pass
```
其中, o为Blocks实例 e为例外实例
#### 功能描述
此方法按照desc字典数据构建一个Widget首先按照desc['options']中的参数初始化“widgettype”属性指定的类并将“subwidgets”中的子Widget创建并添加到Widget中并且将非“options”“subwidgets“和”binds“的其他属性也创建完成并作为Widget的属性变量最后创建”binds“中的事件处理。
widgetBuild按照执行结果的状态会触发两个事件中的一个如果创建成功会触发"on_built"
### getWidgetById(id, from_widget=None)
查找指定id的widget可以指定从整个widget树上的哪个节点开始查找。
#### 参数
id字符串其中.'用于分割节点id如果id中存在.',那么
## 使用用例