目录
沙盒¶
在 1.8.0 版本加入.
警告
此功能目前处于实验阶段,只要此警告提示存在,其内容可能会发生变化。
这是一个在沙箱中运行自身及其所有子组件的控件。这意味着如果某个子组件抛出异常,它将被捕获。沙箱本身运行自己的时钟、缓存等。
SandBox 控件仍处于实验阶段,是 Kivy 设计器所必需的。当用户设计自己的控件时,如果出现错误(如尺寸值错误、无效的 Python 代码),这些错误将被正确捕获,而不会破坏整个应用程序。由于它是为此目的而设计的,我们仍在不断完善此控件及 kivy.context 模块。除非您清楚自己在做什么,否则请勿使用它。
- class kivy.uix.sandbox.Sandbox(**kwargs)[源代码]¶
基类:
FloatLayout沙盒控件,用于捕获子控件引发的所有异常。
- add_widget(*args, **kwargs)[源代码]¶
将此小部件添加为当前小部件的子级。
- 参数:
- widget:
Widget 要添加到我们子控件列表中的控件。
- index:整数,默认值为0
在列表中插入控件的索引。请注意,默认值为0意味着控件被插入到列表的开头,因此会绘制在其他同级控件之上。关于索引和控件层次结构的完整讨论,请参阅 控件编程指南。
在 1.0.5 版本加入.
- canvas: 字符串,默认为 None
用于添加控件画布的Canvas。可以是'before'、'after'或None(默认画布)。
在 1.9.0 版本加入.
- widget:
>>> from kivy.uix.button import Button >>> from kivy.uix.slider import Slider >>> root = Widget() >>> root.add_widget(Button()) >>> slider = Slider() >>> root.add_widget(slider)
- clear_widgets(*args, **kwargs)[源代码]¶
移除该部件的所有(或指定的):attr:~Widget.children。如果指定了'children'参数,它应为当前部件子项的一个列表(或过滤后的列表)。
在 1.8.0 版本发生变更: children 参数可用于指定你想要移除的子组件。
在 2.1.0 版本发生变更: 指定一个空的``children``列表不会改变现有控件。此前,它会被视为``None``,从而移除所有子控件。
- on_exception(exception, _traceback=None)[源代码]¶
重写此方法以捕获来自子组件的所有异常。
如果你返回True,则不会重新抛出异常。如果你返回False,异常将被传递给父级。
- on_motion(etype, me)¶
当接收到运动事件时调用。
- 参数:
- etype:str
事件类型,取值为"begin"、"update"或"end"之一。
- me:
MotionEvent 收到运动事件
- 返回:
bool 值为 True 时停止事件分发。
在 2.1.0 版本加入.
警告
这是一个实验性方法,只要此警告存在,它就一直处于实验状态。
- on_touch_down(touch)¶
接收触摸按下事件。
- 参数:
- touch:
MotionEvent类 收到触摸事件。该触摸位于父级坐标系中。关于坐标系统的讨论,请参阅
relativelayout。
- touch:
- 返回:
bool 如果为 True,触摸事件的派发将停止。如果为 False,事件将继续派发给控件树中的其余部分。
- on_touch_move(touch)¶
接收触摸移动事件。触摸坐标位于父坐标系中。
更多信息请参阅
on_touch_down()。
- on_touch_up(touch)¶
接收触摸抬起事件。触摸坐标位于父级坐标系中。
更多信息请参阅
on_touch_down()。