Class
GtkGrid
Description [src]
class Gtk.Grid : Gtk.Widget {
/* No available fields */
}
GtkGrid
is a container which arranges its child widgets in
rows and columns.
It supports arbitrary positions and horizontal/vertical spans.
Children are added using gtk_grid_attach()
. They can span multiple
rows or columns. It is also possible to add a child next to an existing
child, using gtk_grid_attach_next_to()
. To remove a child from the
grid, use gtk_grid_remove()
.
The behaviour of GtkGrid
when several children occupy the same grid
cell is undefined.
GtkGrid as GtkBuildable
Every child in a GtkGrid
has access to a custom GtkBuildable
element, called <layout>
. It can by used to specify a position in the
grid and optionally spans. All properties that can be used in the <layout>
element are implemented by GtkGridLayoutChild
.
It is implemented by GtkWidget
using GtkLayoutManager
.
To showcase it, here is a simple example:
<object class="GtkGrid" id="my_grid">
<child>
<object class="GtkButton" id="button1">
<property name="label">Button 1</property>
<layout>
<property name="column">0</property>
<property name="row">0</property>
</layout>
</object>
</child>
<child>
<object class="GtkButton" id="button2">
<property name="label">Button 2</property>
<layout>
<property name="column">1</property>
<property name="row">0</property>
</layout>
</object>
</child>
<child>
<object class="GtkButton" id="button3">
<property name="label">Button 3</property>
<layout>
<property name="column">2</property>
<property name="row">0</property>
<property name="row-span">2</property>
</layout>
</object>
</child>
<child>
<object class="GtkButton" id="button4">
<property name="label">Button 4</property>
<layout>
<property name="column">0</property>
<property name="row">1</property>
<property name="column-span">2</property>
</layout>
</object>
</child>
</object>
It organizes the first two buttons side-by-side in one cell each.
The third button is in the last column but spans across two rows.
This is defined by the row-span
property. The last button is
located in the second row and spans across two columns, which is
defined by the column-span
property.
CSS nodes
GtkGrid
uses a single CSS node with name grid
.
Accessibility
GtkGrid
uses the GTK_ACCESSIBLE_ROLE_GROUP
role.
Constructors
gtk_grid_new
Creates a new grid widget.
Instance methods
gtk_grid_attach
Adds a widget to the grid.
gtk_grid_attach_next_to
Adds a widget to the grid.
gtk_grid_get_baseline_row
Returns which row defines the global baseline of grid
.
gtk_grid_get_child_at
Gets the child of grid
whose area covers the grid
cell at column
, row
.
gtk_grid_get_column_homogeneous
Returns whether all columns of grid
have the same width.
gtk_grid_get_column_spacing
Returns the amount of space between the columns of grid
.
gtk_grid_get_row_baseline_position
Returns the baseline position of row
.
gtk_grid_get_row_homogeneous
Returns whether all rows of grid
have the same height.
gtk_grid_get_row_spacing
Returns the amount of space between the rows of grid
.
gtk_grid_insert_column
Inserts a column at the specified position.
gtk_grid_insert_next_to
Inserts a row or column at the specified position.
gtk_grid_insert_row
Inserts a row at the specified position.
gtk_grid_query_child
Queries the attach points and spans of child
inside the given GtkGrid
.
gtk_grid_remove
Removes a child from grid
.
gtk_grid_remove_column
Removes a column from the grid.
gtk_grid_remove_row
Removes a row from the grid.
gtk_grid_set_baseline_row
Sets which row defines the global baseline for the entire grid.
gtk_grid_set_column_homogeneous
Sets whether all columns of grid
will have the same width.
gtk_grid_set_column_spacing
Sets the amount of space between columns of grid
.
gtk_grid_set_row_baseline_position
Sets how the baseline should be positioned on row
of the
grid, in case that row is assigned more space than is requested.
gtk_grid_set_row_homogeneous
Sets whether all rows of grid
will have the same height.
gtk_grid_set_row_spacing
Sets the amount of space between rows of grid
.
Methods inherited from GtkAccessible (10)
gtk_accessible_get_accessible_role
Retrieves the GtkAccessibleRole
for the given GtkAccessible
.
gtk_accessible_reset_property
Resets the accessible property
to its default value.
gtk_accessible_reset_relation
Resets the accessible relation
to its default value.
gtk_accessible_reset_state
Resets the accessible state
to its default value.
gtk_accessible_update_property
Updates a list of accessible properties.
gtk_accessible_update_property_value
Updates an array of accessible properties.
gtk_accessible_update_relation
Updates a list of accessible relations.
gtk_accessible_update_relation_value
Updates an array of accessible relations.
gtk_accessible_update_state
Updates a list of accessible states. See the GtkAccessibleState
documentation for the value types of accessible states.
gtk_accessible_update_state_value
Updates an array of accessible states.
Methods inherited from GtkBuildable (1)
gtk_buildable_get_buildable_id
Gets the ID of the buildable
object.
Methods inherited from GtkOrientable (2)
gtk_orientable_get_orientation
Retrieves the orientation of the orientable
.
gtk_orientable_set_orientation
Sets the orientation of the orientable
.
Properties
Gtk.Grid:baseline-row
The row to align to the baseline when valign is GTK_ALIGN_BASELINE
.
Gtk.Grid:column-homogeneous
If TRUE
, the columns are all the same width.
Gtk.Grid:column-spacing
The amount of space between two consecutive columns.
Gtk.Grid:row-homogeneous
If TRUE
, the rows are all the same height.
Gtk.Grid:row-spacing
The amount of space between two consecutive rows.
Properties inherited from GtkWidget (34)
Gtk.Widget:can-focus
Whether the widget or any of its descendents can accept the input focus.
Gtk.Widget:can-target
Whether the widget can receive pointer events.
Gtk.Widget:css-classes
A list of css classes applied to this widget.
Gtk.Widget:css-name
The name of this widget in the CSS tree.
Gtk.Widget:cursor
The cursor used by widget
.
Gtk.Widget:focus-on-click
Whether the widget should grab focus when it is clicked with the mouse.
Gtk.Widget:focusable
Whether this widget itself will accept the input focus.
Gtk.Widget:halign
How to distribute horizontal space if widget gets extra space.
Gtk.Widget:has-default
Whether the widget is the default widget.
Gtk.Widget:has-focus
Whether the widget has the input focus.
Gtk.Widget:has-tooltip
Enables or disables the emission of the ::query-tooltip signal on widget
.
Gtk.Widget:height-request
Override for height request of the widget.
Gtk.Widget:hexpand
Whether to expand horizontally.
Gtk.Widget:hexpand-set
Whether to use the hexpand
property.
Gtk.Widget:layout-manager
The GtkLayoutManager
instance to use to compute the preferred size
of the widget, and allocate its children.
Gtk.Widget:margin-bottom
Margin on bottom side of widget.
Gtk.Widget:margin-end
Margin on end of widget, horizontally.
Gtk.Widget:margin-start
Margin on start of widget, horizontally.
Gtk.Widget:margin-top
Margin on top side of widget.
Gtk.Widget:name
The name of the widget.
Gtk.Widget:opacity
The requested opacity of the widget.
Gtk.Widget:overflow
How content outside the widget’s content area is treated.
Gtk.Widget:parent
The parent widget of this widget.
Gtk.Widget:receives-default
Whether the widget will receive the default action when it is focused.
Gtk.Widget:root
The GtkRoot
widget of the widget tree containing this widget.
Gtk.Widget:scale-factor
The scale factor of the widget.
Gtk.Widget:sensitive
Whether the widget responds to input.
Gtk.Widget:tooltip-markup
Sets the text of tooltip to be the given string, which is marked up with Pango markup.
Gtk.Widget:tooltip-text
Sets the text of tooltip to be the given string.
Gtk.Widget:valign
How to distribute vertical space if widget gets extra space.
Gtk.Widget:vexpand
Whether to expand vertically.
Gtk.Widget:vexpand-set
Whether to use the vexpand
property.
Gtk.Widget:visible
Whether the widget is visible.
Gtk.Widget:width-request
Override for width request of the widget.
Properties inherited from GtkAccessible (1)
Gtk.Accessible:accessible-role
The accessible role of the given GtkAccessible
implementation.
Properties inherited from GtkOrientable (1)
Gtk.Orientable:orientation
The orientation of the orientable.
Signals
Signals inherited from GtkWidget (13)
Gtk.Widget::destroy
Signals that all holders of a reference to the widget should release the reference that they hold.
Gtk.Widget::direction-changed
Emitted when the text direction of a widget changes.
Gtk.Widget::hide
Emitted when widget
is hidden.
Gtk.Widget::keynav-failed
Emitted if keyboard navigation fails.
Gtk.Widget::map
Emitted when widget
is going to be mapped.
Gtk.Widget::mnemonic-activate
Emitted when a widget is activated via a mnemonic.
Gtk.Widget::move-focus
Emitted when the focus is moved.
Gtk.Widget::query-tooltip
Emitted when the widgets tooltip is about to be shown.
Gtk.Widget::realize
Emitted when widget
is associated with a GdkSurface
.
Gtk.Widget::show
Emitted when widget
is shown.
Gtk.Widget::state-flags-changed
Emitted when the widget state changes.
Gtk.Widget::unmap
Emitted when widget
is going to be unmapped.
Gtk.Widget::unrealize
Emitted when the GdkSurface
associated with widget
is destroyed.
Signals inherited from GObject (1)
GObject.Object::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.