Quick search

Table Of Contents


Layouts are containers used to arrange widgets in a particular manner.


Widgets can be anchored to the ‘top’, ‘bottom’, ‘left’, ‘right’ or ‘center’.


Widgets are arranged sequentially, in either a ‘vertical’ or a ‘horizontal’ orientation.


Widgets are essentially unrestricted.


Child widgets are positioned relative to the layout.


Widgets are arranged in a grid defined by the rows and cols properties.


Used to create simple multi-page layouts, in a way that allows easy flipping from one page to another using borders.


Widgets are positioned similarly to a RelativeLayout, but they can be translated, rotated and scaled.


Widgets are stacked in a lr-tb (left to right then top to bottom) or tb-lr order.

When you add a widget to a layout, the following properties are used to determine the widget’s size and position, depending on the type of layout:

size_hint: defines the size of a widget as a fraction of the parent’s size. Values are restricted to the range 0.0 - 1.0, e.g. 0.01 = 1/100th of the parent’s size (1%) and 1.0 = same size as the parent (100%).

pos_hint: is used to place the widget relative to the parent.

The size_hint and pos_hint are used to calculate a widget’s size and position only if the value(s) are not set to None. If you set these values to None, the layout will not position/size the widget and you can specify the values (x, y, width, height) directly in screen coordinates.