目录
散射布局¶
在 1.6.0 版本加入.
该布局的行为与 RelativeLayout 完全一致。当向 ScatterLayout 添加一个位置为 (0,0) 的控件时,若更改 ScatterLayout 的位置,子控件也会随之移动。子控件的坐标保持为 (0,0),因为它们相对于父布局而言。
然而,由于 ScatterLayout 是通过 Scatter 控件实现的,您也可以像操作普通 Scatter 控件一样,通过触摸或点击来平移、旋转和缩放布局,而子控件将按预期方式表现。
与Scatter不同,Layout更倾向于使用“提示”属性,如size_hint、size_hint_x、size_hint_y和pos_hint。
备注
ScatterLayout 被实现为 FloatLayout 嵌套在 Scatter 内部。
警告
由于实际的 ScatterLayout 是一个 Scatter,其 add_widget 和 remove_widget 函数被重写,以自动将子元素添加到嵌入的 Scatter 的 content 属性访问)中。因此,如果你想访问添加的子元素,需要使用 self.content.children 而不是 self.children。
警告
: ScatterLayout 在 1.7.0 版本中引入,此前版本中被称为 RelativeLayout。现在,RelativeLayout 是一个优化实现,仅使用位置变换来避免 Scatter 所涉及的一些较重计算。
- class kivy.uix.scatterlayout.ScatterLayout(**kw)[源代码]¶
基类:
ScatterScatterLayout 类,更多信息请参阅模块文档。
- 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)
- class kivy.uix.scatterlayout.ScatterPlaneLayout(**kwargs)[源代码]¶
基类:
ScatterPlaneScatterPlaneLayout 类,更多信息请参阅模块文档。
类似于ScatterLayout,但基于ScatterPlane——因此输入不受边界限制。
在 1.9.0 版本加入.