目录
堆叠布局¶
在 1.0.5 版本加入.
StackLayout 会垂直或水平排列子组件,尽可能多地容纳布局所能容纳的数量。各个子组件部件的大小不必统一。
例如,要显示宽度逐渐增大的控件::
root = StackLayout()
for i in range(25):
btn = Button(text=str(i), width=40 + i * 5, size_hint=(None, 0.15))
root.add_widget(btn)
- class kivy.uix.stacklayout.StackLayout(**kwargs)[源代码]¶
基类:
Layout堆叠布局类。更多信息请参阅模块文档。
- do_layout(*largs)[源代码]¶
当布局被触发器调用时,会调用此函数。如果你正在编写一个新的布局子类,不要直接调用此函数,而应使用
_trigger_layout()方法。该函数默认在下一帧之前调用,因此布局不会立即更新。任何依赖于子组件位置等的操作都应安排在下一帧执行。
在 1.0.8 版本加入.
- minimum_height¶
包含所有子部件所需的最小高度。该值由布局自动设置。
在 1.0.8 版本加入.
minimum_height是一个kivy.properties.NumericProperty,默认值为 0。
- minimum_size¶
包含所有子部件所需的最小尺寸。该尺寸由布局自动设置。
在 1.0.8 版本加入.
minimum_size是 (minimum_width,minimum_height) 属性的ReferenceListProperty。
- minimum_width¶
包含所有子部件所需的最小宽度。该值由布局自动设置。
在 1.0.8 版本加入.
minimum_width是一个kivy.properties.NumericProperty,默认值为 0。
- orientation¶
布局的方向。
orientation是一个OptionProperty,默认值为 'lr-tb'。有效的方向为'lr-tb'、'tb-lr'、'rl-tb'、'tb-rl'、'lr-bt'、'bt-lr'、'rl-bt'和'bt-rl'。
在 1.5.0 版本发生变更:
orientation现在能正确处理 'lr'、'rl'、'tb'、'bt' 的所有有效组合。在此版本之前,仅支持 'lr-tb' 和 'tb-lr',且 'tb-lr' 命名有误,实际将控件从底部到顶部、从右到左排列(与预期相反)。备注
'lr' 表示从左到右。'rl' 表示从右到左。'tb' 表示从上到下。'bt' 表示从下到上。
- padding¶
布局框与其子项之间的内边距:[padding_left, padding_top, padding_right, padding_bottom]。
padding 也接受双参数形式 [padding_horizontal, padding_vertical] 和单参数形式 [padding]。
在 1.7.0 版本发生变更: 将NumericProperty替换为VariableListProperty。
padding是一个VariableListProperty,默认值为 [0, 0, 0, 0]。
- spacing¶
子控件之间的间距:[水平间距,垂直间距]。
spacing 也接受单参数形式 [spacing]。
spacing是一个VariableListProperty,默认值为 [0, 0]。