gtk.frame

Module for [Frame] class

Types 3

[gtk.frame.Frame] is a widget that surrounds its child with a decorative frame and an optional label.

!An example GtkFrame

If present, the label is drawn inside the top edge of the frame. The horizontal position of the label can be controlled with [gtk.frame.Frame.setLabelAlign].

[gtk.frame.Frame] 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 [gtk.frame.Frame] implementation of the [gtk.buildable.Buildable] 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>

[gtk.frame.Frame] 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

[gtk.frame.Frame] uses the [gtk.types.AccessibleRole.Group] role.

Methods
GType _gType() @property
Frame self()Returns `this`, for use in `with` statements.
FrameGidBuilder builder()Get builder for [gtk.frame.Frame] Returns: New builder object
gtk.widget.Widget child() @propertyGet `child` property. Returns: The child widget.
void child(gtk.widget.Widget propval) @propertySet `child` property. Params: propval = The child widget.
string label() @propertyGet `label` property. Returns: Text of the frame's label.
void label(string propval) @propertySet `label` property. Params: propval = Text of the frame's label.
gtk.widget.Widget labelWidget() @propertyGet `labelWidget` property. Returns: Widget to display in place of the usual frame label.
void labelWidget(gtk.widget.Widget propval) @propertySet `labelWidget` property. Params: propval = Widget to display in place of the usual frame label.
float labelXalign() @propertyGet `labelXalign` property. Returns: The horizontal alignment of the label.
void labelXalign(float propval) @propertySet `labelXalign` property. Params: propval = The horizontal alignment of the label.
gtk.widget.Widget getChild()Gets the child widget of frame. Returns: the child widget of frame
string getLabel()Returns the frame labels text.
float getLabelAlign()Retrieves the X alignment of the frame’s label. Returns: the frames X alignment
gtk.widget.Widget getLabelWidget()Retrieves the label widget for the frame. Returns: the label widget
void setChild(gtk.widget.Widget child = null)Sets the child widget of frame.
void setLabel(string label = null)Creates a new [gtk.label.Label] with the label and sets it as the frame's label widget.
void setLabelAlign(float xalign)Sets the X alignment of the frame widget’s label.
void setLabelWidget(gtk.widget.Widget labelWidget = null)Sets the label widget for the frame.
Constructors
this(void * ptr, Flag!"Take" take)
this(string label = null)Creates a new [gtk.frame.Frame], with optional label label.
Methods
T child(gtk.widget.Widget propval)Set `child` property. Params: propval = The child widget. Returns: Builder instance for fluent chaining
T label(string propval)Set `label` property. Params: propval = Text of the frame's label. Returns: Builder instance for fluent chaining
T labelWidget(gtk.widget.Widget propval)Set `labelWidget` property. Params: propval = Widget to display in place of the usual frame label. Returns: Builder instance for fluent chaining
T labelXalign(float propval)Set `labelXalign` property. Params: propval = The horizontal alignment of the label. Returns: Builder instance for fluent chaining

Fluent builder for [gtk.frame.Frame]

Methods