Frame#

class Frame(**properties: Any)#

Superclasses: Widget, InitiallyUnowned, Object

Implemented Interfaces: Accessible, Buildable, ConstraintTarget

GtkFrame is a widget that surrounds its child with a decorative frame and an optional label.

https://docs.gtk.org/gtk4/frame.png

If present, the label is drawn inside the top edge of the frame. The horizontal position of the label can be controlled with set_label_align.

GtkFrame clips its child. You can use this to add rounded corners to widgets, but be aware that it also cuts off shadows.

GtkFrame as GtkBuildable#

The GtkFrame implementation of the GtkBuildable interface supports placing a child in the label position by specifying “label” as the “type” attribute of a <child> element. A normal content child can be specified without specifying a <child> type attribute.

An example of a UI definition fragment with GtkFrame:

<object class="GtkFrame">
  <child type="label">
    <object class="GtkLabel" id="frame_label"/>
  </child>
  <child>
    <object class="GtkEntry" id="frame_content"/>
  </child>
</object>

CSS nodes#

frame
├── <label widget>
╰── <child>

GtkFrame has a main CSS node with name “frame”, which is used to draw the visible border. You can set the appearance of the border using CSS properties like “border-style” on this node.

Accessibility#

GtkFrame uses the GTK_ACCESSIBLE_ROLE_GROUP role.

Constructors#

class Frame
classmethod new(label: str | None = None) Widget#

Creates a new GtkFrame, with optional label label.

If label is None, the label is omitted.

Parameters:

label – the text to use as the label of the frame

Methods#

class Frame
get_child() Widget | None#

Gets the child widget of frame.

get_label() str | None#

Returns the frame labels text.

If the frame’s label widget is not a GtkLabel, None is returned.

get_label_align() float#

Retrieves the X alignment of the frame’s label.

get_label_widget() Widget | None#

Retrieves the label widget for the frame.

set_child(child: Widget | None = None) None#

Sets the child widget of frame.

Parameters:

child – the child widget

set_label(label: str | None = None) None#

Creates a new GtkLabel with the label and sets it as the frame’s label widget.

Parameters:

label – the text to use as the label of the frame

set_label_align(xalign: float) None#

Sets the X alignment of the frame widget’s label.

The default value for a newly created frame is 0.0.

Parameters:

xalign – The position of the label along the top edge of the widget. A value of 0.0 represents left alignment; 1.0 represents right alignment.

set_label_widget(label_widget: Widget | None = None) None#

Sets the label widget for the frame.

This is the widget that will appear embedded in the top edge of the frame as a title.

Parameters:

label_widget – the new label widget

Properties#

class Frame
props.child: Widget#

The type of the None singleton.

props.label: str#

The type of the None singleton.

props.label_widget: Widget#

The type of the None singleton.

props.label_xalign: float#

The type of the None singleton.

Virtual Methods#

class Frame
do_compute_child_allocation(allocation: Rectangle) None#

The type of the None singleton.

Parameters:

allocation

Fields#

class Frame
parent_instance#