Layout¶
Layouts are used to calculate and assign widget positions.
The Layout class itself cannot be used directly. You must use one of:
- Anchor layout : kivy.uix.anchorlayout.AnchorLayout
- Box layout : kivy.uix.boxlayout.BoxLayout
- Float layout : kivy.uix.floatlayout.FloatLayout
- Grid layout : kivy.uix.gridlayout.GridLayout
- Stack layout : kivy.uix.stacklayout.StackLayout
Understanding size_hint property in Widget¶
The size_hint is mostly used in Layout. This is the size in percent, not in pixels. The format is:
widget.size_hint = (width_percent, height_percent)
The percent is specified as a floating point number in the range 0-1, ie 0.5 is 50%, 1 is 100%.
If you want a widget’s width to be half of the parent’s and their heights to be identical, you can do:
widget.size_hint = (0.5, 1.0)
If you don’t want to use size_hint for one of width or height, set the value to None. For example, to make a widget that is 250px wide and 30% of the parent’s height, you can write:
widget.size_hint = (None, 0.3)
widget.width = 250
- class kivy.uix.layout.Layout(**kwargs)¶
Bases: kivy.uix.widget.Widget
Layout interface class, used to implement every layout. Check module documentation for more information.
- do_layout(*largs)¶
This function is called when a layout is needed, with by a trigger. If you are doing a new Layout subclass, don’t call this function directly, use _trigger_layout instead.
New in version 1.0.8.
- reposition_child(child, **kwargs)¶
Force the child to be repositioned on the screen. This method is used internally in boxlayout.