kivyblocks/docs/blocks.md
2023-10-09 13:52:30 +08:00

1.5 KiB
Executable File
Raw Permalink Blame History

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中存在.',那么

使用用例