浮动布局¶
FloatLayout 遵循其子部件的 pos_hint 和 size_hint 属性。
例如,创建一个大小为(300,300)的FloatLayout::
layout = FloatLayout(size=(300, 300))
默认情况下,所有控件的size_hint=(1, 1),因此该按钮将采用与布局相同的尺寸:
button = Button(text='Hello world')
layout.add_widget(button)
要创建一个占布局宽度50%、高度25%,并位于(20, 20)位置的按钮,您可以这样做:
button = Button(
text='Hello world',
size_hint=(.5, .25),
pos=(20, 20))
如果你想创建一个按钮,其大小始终为布局尺寸减去每侧20%,可以这样做:
button = Button(text='Hello world', size_hint=(.6, .6),
pos_hint={'x':.2, 'y':.2})
备注
此布局可用于应用程序。大多数情况下,您将使用Window的大小。
警告
如果你没有使用pos_hint,就必须自行处理子控件的定位:如果浮动布局在移动,你也需要同时移动子控件。
- class kivy.uix.floatlayout.FloatLayout(**kwargs)[源代码]¶
基类:
Layout浮动布局类。更多信息请参阅模块文档。
- add_widget(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)