Creates a new label with the given text inside it.
Connect to ActivateCurrentLink signal.
Connect to ActivateLink signal.
Connect to CopyClipboard signal.
Connect to MoveCursor signal.
Gets the label's attribute list.
Returns the URI for the currently active link in the label.
Returns the ellipsizing position of the label.
Gets the extra menu model of label.
Returns the justification of the label.
Fetches the text from a label.
Gets the pango.layout.Layout used to display the label.
Obtains the coordinates where the label will draw its pango.layout.Layout.
Gets the number of lines to which an ellipsized, wrapping label should be limited.
Retrieves the desired maximum width of label, in characters.
Return the mnemonic accelerator.
Retrieves the target of the mnemonic (keyboard shortcut) of this label.
Returns line wrap mode used by the label.
Returns whether the label is selectable.
Gets the selected range of characters in the label.
Returns whether the label is in single line mode.
Gets the tabs for self.
Fetches the text from a label.
Returns whether the label’s text is interpreted as Pango markup.
Returns whether an embedded underlines in the label indicate mnemonics.
Retrieves the desired width of label, in characters.
Returns whether lines in the label are automatically wrapped.
Returns line wrap mode used by the label.
Gets the xalign of the label.
Gets the yalign of the label.
Selects a range of characters in the label, if the label is selectable.
Apply attributes to the label text.
Sets the mode used to ellipsize the text.
Sets a menu model to add when constructing the context menu for label.
Sets the alignment of the lines in the text of the label relative to each other.
Sets the text of the label.
Sets the number of lines to which an ellipsized, wrapping label should be limited.
Sets the labels text and attributes from markup.
Sets the labels text, attributes and mnemonic from markup.
Sets the desired maximum width in characters of label to n_chars.
Associate the label with its mnemonic target.
Select the line wrapping for the natural size request.
Makes text in the label selectable.
Sets whether the label is in single line mode.
Sets the default tab stops for paragraphs in self.
Sets the text within the gtk.label.Label widget.
Sets the label’s text from the string str.
Sets whether the text of the label contains markup.
Sets whether underlines in the text indicate mnemonics.
Sets the desired width in characters of label to n_chars.
Toggles line wrapping within the gtk.label.Label widget.
Controls how line wrapping is done.
Sets the xalign of the label.
Sets the yalign of the label.
Creates a new gtk.label.Label, containing the text in str.
Updates the position of the caret.
Notifies assistive technologies of a change in contents.
Updates the boundary of the selection.
Obtains the current default reading direction.
Sets the default reading direction for widgets.
Enable or disable an action installed with gtk.widget_class.WidgetClass.installAction.
For widgets that can be “activated” (buttons, menu items, etc.), this function activates them.
Looks up the action in the action groups associated with widget and its ancestors, and activates it.
Activates the default.activate action from widget.
Adds controller to widget so that it will receive events.
Adds a style class to widget.
Adds a widget to the list of mnemonic labels for this widget.
Queues an animation frame update and adds a callback to be called before each frame.
This function is only used by gtk.widget.Widget subclasses, to assign a size, position and (optionally) baseline to their child widgets.
Called by widgets as the user moves around the window using keyboard shortcuts.
Computes the bounds for widget in the coordinate space of target.
Computes whether a container should give this widget extra space when possible.
Translates the given point in widget's coordinates to coordinates relative to target’s coordinate system.
Computes a matrix suitable to describe a transformation from widget's coordinate system into target's coordinate system.
Tests if the point at (x, y) is contained in widget.
Creates a new pango.context.Context with the appropriate font map, font options, font description, and base direction for drawing text for this widget.
Creates a new pango.layout.Layout with the appropriate font map, font description, and base direction for drawing text for this widget.
Clears the template children for the given widget.
Checks to see if a drag movement has passed the GTK drag threshold.
Notifies the user about an input-related error on this widget.
Returns the baseline that has currently been allocated to widget.
Returns the height that has currently been allocated to widget.
Returns the width that has currently been allocated to widget.
Gets the first ancestor of widget with type widget_type.
Returns the baseline that has currently been allocated to widget.
Determines whether the input focus can enter widget or any of its children.
Queries whether widget can be the target of pointer events.
Gets the value set with gtk.widget.Widget.setChildVisible.
Gets the clipboard object for widget.
Gets the current foreground color for the widget’s CSS style.
Returns the list of style classes applied to widget.
Returns the CSS name that is used for self.
Queries the cursor set on widget.
Gets the reading direction for a particular widget.
Get the gdk.display.Display for the toplevel window associated with this widget.
Returns the widget’s first child.
Returns the current focus child of widget.
Returns whether the widget should grab focus when it is clicked with the mouse.
Determines whether widget can own the input focus.
Gets the font map of widget.
Returns the cairo.font_options.FontOptions of widget.
Obtains the frame clock for a widget.
Gets the horizontal alignment of widget.
Returns the current value of the has-tooltip property.
Returns the content height of the widget.
Gets whether the widget would like any available extra horizontal space.
Gets whether gtk.widget.Widget.setHexpand has been used to explicitly set the expand flag on this widget.
Returns the widget’s last child.
Retrieves the layout manager used by widget.
Whether the widget is mapped.
Gets the bottom margin of widget.
Gets the end margin of widget.
Gets the start margin of widget.
Gets the top margin of widget.
Retrieves the name of a widget.
Returns the nearest gtk.native.Native ancestor of widget.
Returns the widget’s next sibling.
#Fetches the requested opacity for this widget.
Returns the widget’s overflow value.
Gets a pango.context.Context with the appropriate font map, font description, and base direction for this widget.
Returns the parent widget of widget.
Retrieves the minimum and natural size of a widget, taking into account the widget’s preference for height-for-width management.
Returns the widget’s previous sibling.
Gets the primary clipboard of widget.
Determines whether widget is realized.
Determines whether widget is always treated as the default widget within its toplevel when it has the focus, even if another widget is the default.
Gets whether the widget prefers a height-for-width layout or a width-for-height layout.
Returns the gtk.root.Root widget of widget.
Retrieves the internal scale factor that maps from window coordinates to the actual device pixels.
Returns the widget’s sensitivity.
Gets the settings object holding the settings used for this widget.
Returns the content width or height of the widget.
Gets the size request that was explicitly set for the widget using gtk.widget.Widget.setSizeRequest.
Returns the widget state as a flag set.
Returns the style context associated to widget.
Fetch an object build from the template XML for widget_type in this widget instance.
Gets the contents of the tooltip for widget.
Gets the contents of the tooltip for widget.
Gets the vertical alignment of widget.
Gets whether the widget would like any available extra vertical space.
Gets whether gtk.widget.Widget.setVexpand has been used to explicitly set the expand flag on this widget.
Determines whether the widget is visible.
Returns the content width of the widget.
Causes widget to have the keyboard focus for the gtk.window.Window it's inside.
Returns whether css_class is currently applied to widget.
Determines whether widget is the current default widget within its toplevel.
Determines if the widget has the global input focus.
Determines if the widget should show a visible indication that it has the global input focus.
Reverses the effects of gtk.widget.Widget.show.
Returns whether the widget is currently being destroyed.
Creates and initializes child widgets defined in templates.
Inserts group into widget.
Inserts widget into the child widget list of parent.
Inserts widget into the child widget list of parent.
Determines whether widget is somewhere inside ancestor, possibly with intermediate containers.
Determines whether widget can be drawn to.
Determines if the widget is the focus widget within its toplevel.
Returns the widget’s effective sensitivity.
Determines whether the widget and all its parents are marked as visible.
Emits the ::keynav-failed signal on the widget.
Returns the widgets for which this widget is the target of a mnemonic.
Causes a widget to be mapped if it isn’t already.
Measures widget in the orientation orientation and for the given for_size.
Emits the ::mnemonic-activate signal.
Returns a gio.list_model.ListModel to track the children of widget.
Returns a gio.list_model.ListModel to track the gtk.event_controller.EventControllers of widget.
Finds the descendant of widget closest to the point (x, y).
Flags the widget for a rerun of the vfuncGtk.Widget.size_allocate function.
Schedules this widget to be redrawn in the paint phase of the current or the next frame.
Flags a widget to have its size renegotiated.
Creates the GDK resources associated with a widget.
Removes controller from widget, so that it doesn't process events anymore.
Removes a style from widget.
Removes a widget from the list of mnemonic labels for this widget.
Removes a tick callback previously registered with gtk.widget.Widget.addTickCallback.
Specifies whether the input focus can enter the widget or any of its children.
Sets whether widget can be the target of pointer events.
Sets whether widget should be mapped along with its parent.
Clear all style classes applied to widget and replace them with classes.
Sets the cursor to be shown when pointer devices point towards widget.
Sets a named cursor to be shown when pointer devices point towards widget.
Sets the reading direction on a particular widget.
Set child as the current focus child of widget.
Sets whether the widget should grab focus when it is clicked with the mouse.
Specifies whether widget can own the input focus.
Sets the font map to use for Pango rendering.
Sets the cairo.font_options.FontOptions used for Pango rendering in this widget.
Sets the horizontal alignment of widget.
Sets the has-tooltip property on widget to has_tooltip.
Sets whether the widget would like any available extra horizontal space.
Sets whether the hexpand flag will be used.
Sets the layout manager delegate instance that provides an implementation for measuring and allocating the children of widget.
Sets the bottom margin of widget.
Sets the end margin of widget.
Sets the start margin of widget.
Sets the top margin of widget.
Sets a widgets name.
Request the widget to be rendered partially transparent.
Sets how widget treats content that is drawn outside the widget's content area.
Sets parent as the parent widget of widget.
Specifies whether widget will be treated as the default widget within its toplevel when it has the focus, even if another widget is the default.
Sets the sensitivity of a widget.
Sets the minimum size of a widget.
Turns on flag values in the current widget state.
Sets markup as the contents of the tooltip, which is marked up with Pango markup.
Sets text as the contents of the tooltip.
Sets the vertical alignment of widget.
Sets whether the widget would like any available extra vertical space.
Sets whether the vexpand flag will be used.
Sets the visibility state of widget.
Returns whether widget should contribute to the measuring and allocation of its parent.
Flags a widget to be displayed.
Snapshot the a child of widget.
Translate coordinates relative to src_widget’s allocation to coordinates relative to dest_widget’s allocations.
Triggers a tooltip query on the display where the toplevel of widget is located.
Causes a widget to be unmapped if it’s currently mapped.
Dissociate widget from its parent.
Causes a widget to be unrealized (frees all GDK resources associated with the widget).
Turns off flag values for the current widget state.
Connect to Destroy signal.
Connect to DirectionChanged signal.
Connect to Hide signal.
Connect to KeynavFailed signal.
Connect to Map signal.
Connect to MnemonicActivate signal.
Connect to MoveFocus signal.
Connect to QueryTooltip signal.
Connect to Realize signal.
Connect to Show signal.
Connect to StateFlagsChanged signal.
Connect to Unmap signal.
Connect to Unrealize signal.
Updates the position of the caret.
Notifies assistive technologies of a change in contents.
Updates the boundary of the selection.
The gtk.label.Label widget displays a small amount of text.
As the name implies, most labels are used to label another widget such as a class@Button.
CSS nodes
gtk.label.Label has a single CSS node with the name label. A wide variety of style classes may be applied to labels, such as .title, .subtitle, .dim-label, etc. In the gtk.shortcuts_window.ShortcutsWindow, labels are used with the .keycap style class.
If the label has a selection, it gets a subnode with name selection.
If the label has links, there is one subnode per link. These subnodes carry the link or visited state depending on whether they have been visited. In this case, label node also gets a .link style class.
GtkLabel as GtkBuildable
The GtkLabel implementation of the GtkBuildable interface supports a custom <attributes> element, which supports any number of <attribute> elements. The <attribute> element has attributes named “name“, “value“, “start“ and “end“ and allows you to specify pango.attribute.Attribute values for this label.
An example of a UI definition fragment specifying Pango attributes:
The start and end attributes specify the range of characters to which the Pango attribute applies. If start and end are not specified, the attribute is applied to the whole text. Note that specifying ranges does not make much sense with translatable attributes. Use markup embedded in the translatable content instead.
Accessibility
gtk.label.Label uses the gtk.types.AccessibleRole.Label role.
Mnemonics
Labels may contain “mnemonics”. Mnemonics are underlined characters in the label, used for keyboard navigation. Mnemonics are created by providing a string with an underscore before the mnemonic character, such as "_File", to the functions gtk.label.Label.newWithMnemonic or gtk.label.Label.setTextWithMnemonic.
Mnemonics automatically activate any activatable widget the label is inside, such as a gtk.button.Button; if the label is not inside the mnemonic’s target widget, you have to tell the label about the target using gtk.label.Label.setMnemonicWidget.
Here’s a simple example where the label is inside a button:
There’s a convenience function to create buttons with a mnemonic label already inside:
To create a mnemonic for a widget alongside the label, such as a gtk.entry.Entry, you have to point the label at the entry with gtk.label.Label.setMnemonicWidget:
Markup (styled text)
To make it easy to format text in a label (changing colors, fonts, etc.), label text can be provided in a simple markup format:
Here’s how to create a label with a small font:
GtkWidget *label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), "<small>Small text</small>");
(See the Pango manual for complete documentation] of available tags, func@Pango.parse_markup)
The markup passed to gtk.label.Label.setMarkup must be valid; for example, literal <, > and & characters must be escaped as <, >, and &. If you pass text obtained from the user, file, or a network to gtk.label.Label.setMarkup, you’ll want to escape it with func@GLib.markup_escape_text or func@GLib.markup_printf_escaped.
Markup strings are just a convenient way to set the pango.attr_list.AttrList on a label; gtk.label.Label.setAttributes may be a simpler way to set attributes in some cases. Be careful though; pango.attr_list.AttrList tends to cause internationalization problems, unless you’re applying attributes to the entire string (i.e. unless you set the range of each attribute to [0, G_MAXINT)). The reason is that specifying the start_index and end_index for a pango.attribute.Attribute requires knowledge of the exact string being displayed, so translations will cause problems.
Selectable labels
Labels can be made selectable with gtk.label.Label.setSelectable. Selectable labels allow the user to copy the label contents to the clipboard. Only labels that contain useful-to-copy information—such as error messages—should be made selectable.
Text layout
A label can contain any number of paragraphs, but will have performance problems if it contains more than a small number. Paragraphs are separated by newlines or other paragraph separators understood by Pango.
Labels can automatically wrap text if you call gtk.label.Label.setWrap.
gtk.label.Label.setJustify sets how the lines in a label align with one another. If you want to set how the label as a whole aligns in its available space, see the gtk.widget.Widget.Align and gtk.widget.Widget.Align properties.
The property@Gtk.Label:width-chars and property@Gtk.Label:max-width-chars properties can be used to control the size allocation of ellipsized or wrapped labels. For ellipsizing labels, if either is specified (and less than the actual text size), it is used as the minimum width, and the actual text size is used as the natural width of the label. For wrapping labels, width-chars is used as the minimum width, if specified, and max-width-chars is used as the natural width. Even if max-width-chars specified, wrapping labels will be rewrapped to use all of the available width.
Links
GTK supports markup for clickable hyperlinks in addition to regular Pango markup. The markup for links is borrowed from HTML, using the <a> with “href“, “title“ and “class“ attributes. GTK renders links similar to the way they appear in web browsers, with colored, underlined text. The “title“ attribute is displayed as a tooltip on the link. The “class“ attribute is used as style class on the CSS node for the link.
An example of inline links looks like this:
It is possible to implement custom handling for links and their tooltips with the signal@Gtk.Label::activate-link signal and the gtk.label.Label.getCurrentUri function.