Class GLabel

This class is exactly like a GRectangle, except that it has the possibility of containing some text.

The attribute text defines the text content of this label. Uses of the escape character ‘n’ will result in a label that spans multiple lines. As with any GRectangle, the background color of this rectangle is fillcolor, while linecolor is the color of the text.

The text itself is aligned within this rectangle according to the attributes halign and valign. See the documentation of these attributes for how alignment works. There are also attributes to change the point size, font style, and font name of the text. The width and height of this label will grow to ensure that the text will fit in the rectangle, no matter the font or point size.

To change the font, you need a .ttf (TrueType Font) file in the Fonts folder; refer to the font by filename, including the .ttf. If you give no name, it will use the default Kivy font. The bold attribute only works for the default Kivy font; for other fonts you will need the .ttf file for the bold version of that font. See the provided ComicSans.ttf and ComicSansBold.ttf for an example.

Constructor

GLabel(**keywords)

Constructor: Creates a new text label.

To use the constructor for this class, you should provide it with a list of keyword arguments that initialize various attributes. The keywords are the same as the attribute names. For example, to create a label containing the word ‘Hello’, use the constructor call

GLabel(text=’Hello’)

This class supports the same keywords as GRectangle, as well as additional attributes for the text properties (e.g. font size and name).

Parameter:keywords – dictionary of keyword arguments

Precondition: See above.

Attributes

This class has all of the attributes of GRectangle. In addition, it has the following new attributes.

text

Text for this label.

The text in the label is displayed as a single line, or broken up into multiple lines in the presence of the escape character ‘n’. The width and height of this label will grow to ensure that the text will fit in the rectangle.

Invariant: Must be a string

font_size

Size of the text font in points.

Invariant: Must be a positive number (int or float)

font_name

File name for the .ttf file to use as a font

Invariant: Must be a string referring to a .ttf file in folder Fonts

bold

Boolean indicating whether or not the text should be bold.

This value only works on the default Kivy font. It does not work on custom .ttf files. In that case, you need the bold version of the .ttf file. See ComicSans.ttf and ComicSansBold.ttf for an example.

Invariant: Must be a boolean

halign

Horizontal alignment for this label.

The text is horizontally anchored inside of the label rectangle at either the left, the right or the center. This means that as the size of the label increases, the text will still stay rooted at that anchor. By default, the text is centered.

Invariant: Must be one of ‘left’, ‘right’, or ‘center’

valign

Vertical alignment for this label.

The text is vertically anchored inside of the label rectangle at either the top, the bottom or the middle. This means that as the size of the label increases, the text will still stay rooted at that anchor. By default, the text is in the middle.

Invariant: Must be one of ‘top’, ‘bottom’, or ‘middle’