GtkGrid
GtkGrid — Размещение виджетов в строках и столбцах
Функции
| GtkWidget * | gtk_grid_new () |
| void | gtk_grid_attach () |
| void | gtk_grid_attach_next_to () |
| GtkWidget * | gtk_grid_get_child_at () |
| void | gtk_grid_insert_row () |
| void | gtk_grid_insert_column () |
| void | gtk_grid_remove_row () |
| void | gtk_grid_remove_column () |
| void | gtk_grid_insert_next_to () |
| void | gtk_grid_set_row_homogeneous () |
| gboolean | gtk_grid_get_row_homogeneous () |
| void | gtk_grid_set_row_spacing () |
| guint | gtk_grid_get_row_spacing () |
| void | gtk_grid_set_column_homogeneous () |
| gboolean | gtk_grid_get_column_homogeneous () |
| void | gtk_grid_set_column_spacing () |
| guint | gtk_grid_get_column_spacing () |
| gint | gtk_grid_get_baseline_row () |
| void | gtk_grid_set_baseline_row () |
| GtkBaselinePosition | gtk_grid_get_row_baseline_position () |
| void | gtk_grid_set_row_baseline_position () |
Свойства
| int | baseline-row | Чтение/Запись |
| gboolean | column-homogeneous | Чтение/Запись |
| int | column-spacing | Чтение/Запись |
| gboolean | row-homogeneous | Чтение/Запись |
| int | row-spacing | Чтение/Запись |
Свойства дочерних элементов
| int | height | Чтение/Запись |
| int | left-attach | Чтение/Запись |
| int | top-attach | Чтение/Запись |
| int | width | Чтение/Запись |
Типы и значения
| struct | GtkGrid |
| struct | GtkGridClass |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkContainer
╰── GtkGrid
Реализованные интерфейсы
GtkGrid реализует AtkImplementorIface, GtkBuildable и GtkOrientable.
Файлы
#include <gtk/gtk.h>
Описание
GtkGrid — это контейнер, который организует свои дочерние виджеты в строках и столбцах с произвольными позициями и горизонтальными/вертикальными разделами.
Дочерние элементы добавляются с помощью gtk_grid_attach(). Они могут занимать несколько строк или столбцов. Также можно добавить дочерний элемент рядом с существующим, используя gtk_grid_attach_next_to(). Поведение GtkGrid, когда несколько дочерних элементов занимают одну и ту же ячейку сетки, не определено.
GtkGrid можно использовать как GtkBox, просто используя gtk_container_add(), что разместит дочерние элементы друг за другом в направлении, определяемом свойством “orientation”. Однако, если вам нужна только одна строка или столбец, то GtkBox — предпочтительный виджет.
CSS узлы
GtkGrid использует единственный CSS узел с именем grid.
Функции
gtk_grid_new ()
GtkWidget *
gtk_grid_new (void); Создаёт новый виджет сетки.
Возвращает
новый GtkGrid
gtk_grid_attach ()
void gtk_grid_attach (GtkGrid *grid,GtkWidget *child,gint left,gint top,gint width,gint height);
Добавляет виджет в сетку.
Положение child определяется left и top. Количество «ячеек», которое будет занимать child, определяется width и height.
Параметры
grid | a GtkGrid | |
child | виджет для добавления | |
left | номер столбца, к которому прикрепляется левая сторона | |
top | номер строки, к которой прикрепляется верхняя сторона | |
width | количество столбцов, которое будет занимать | |
height | количество строк, которое будет занимать |
gtk_grid_attach_next_to ()
void gtk_grid_attach_next_to (GtkGrid *grid,GtkWidget *child,GtkWidget *sibling,GtkPositionType side,gint width,gint height);
Добавляет виджет в сетку.
Виджет размещается рядом с sibling, со стороны, определяемой side. Когда sibling равняется NULL, виджет размещается в строке (для размещения слева или справа) или столбце 0 (для размещения сверху или снизу) в конце, указанном side.
Прикрепление виджетов, обозначенных [1], [2], [3], с sibling == NULL и side == GTK_POS_LEFT даёт макет 3[1].
Параметры
grid | a GtkGrid | |
child | виджет для добавления | |
sibling | дочерний элемент | [allow-none] |
side | сторона | |
width | количество столбцов, которое будет занимать | |
height | количество строк, которое будет занимать |
gtk_grid_get_child_at ()
GtkWidget * gtk_grid_get_child_at (GtkGrid *grid,gint left,gint top);
Возвращает дочерний элемент grid, чья область охватывает ячейку сетки, верхний левый угол которой расположен в left, top.
Параметры
grid | a GtkGrid | |
left | левый край ячейки | |
top | верхний край ячейки |
Возвращает
дочерний элемент в указанном положении, или NULL.
[transfer none][nullable]
С: 3.2
gtk_grid_insert_row ()
void gtk_grid_insert_row (GtkGrid *grid,gint position);
Вставляет строку в указанную позицию.
Дочерние элементы, прикреплённые в этой или нижележащей позиции, смещаются вниз на одну строку. Дочерние элементы, занимающие несколько строк, расширяются, чтобы охватить новую строку.
Параметры
grid | a GtkGrid | |
position | позиция для вставки строки |
С: 3.2
gtk_grid_insert_column ()
void gtk_grid_insert_column (GtkGrid *grid,gint position);
Вставляет столбец в указанную позицию.
Дочерние элементы, прикреплённые в этой или правее от этой позиции, смещаются вправо на один столбец. Дочерние элементы, занимающие несколько столбцов, расширяются, чтобы охватить новый столбец.
Параметры
grid | a GtkGrid | |
position | позиция для вставки столбца |
С: 3.2
gtk_grid_remove_row ()
void gtk_grid_remove_row (GtkGrid *grid,gint position);
Удаляет строку из сетки.
Дочерние элементы, расположенные в этой строке, удаляются, занимающие несколько строк, уменьшают свою высоту на одну, а элементы, расположенные ниже строки, смещаются вверх.
Параметры
grid | a GtkGrid | |
position | позиция удаляемой строки |
С: 3.10
gtk_grid_remove_column ()
void gtk_grid_remove_column (GtkGrid *grid,gint position);
Удаляет столбец из сетки.
Дочерние элементы, расположенные в этом столбце, удаляются, занимающие несколько столбцов, уменьшают свою ширину на одну, а элементы, расположенные справа от столбца, смещаются влево.
Параметры
grid | a GtkGrid | |
position | позиция удаляемого столбца |
С: 3.10
gtk_grid_insert_next_to ()
void gtk_grid_insert_next_to (GtkGrid *grid,GtkWidget *sibling,GtkPositionType side);
Вставляет строку или столбец в указанное положение.
Новая строка или столбец размещаются рядом с sibling , со стороны, определяемой side . Если side является GTK_POS_TOP или GTK_POS_BOTTOM, вставляется строка. Если side является GTK_POS_LEFT или GTK_POS_RIGHT, вставляется столбец.
Параметры
grid | a GtkGrid | |
sibling | дочерний элемент | |
side | сторона |
С версии: 3.2
gtk_grid_set_row_homogeneous ()
void gtk_grid_set_row_homogeneous (GtkGrid *grid,gboolean homogeneous);
Устанавливает, будут ли все строки grid иметь одинаковую высоту.
Параметры
grid | a GtkGrid | |
homogeneous |
|
gtk_grid_get_row_homogeneous ()
gboolean
gtk_grid_get_row_homogeneous (GtkGrid *grid); Возвращает, имеют ли все строки grid одинаковую высоту.
Параметры
grid | a GtkGrid |
Возвращает
имеют ли все строки grid одинаковую высоту.
gtk_grid_set_row_spacing ()
void gtk_grid_set_row_spacing (GtkGrid *grid,guint spacing);
Устанавливает количество пространства между строками grid .
Параметры
grid | a GtkGrid | |
spacing | количество пространства для вставки между строками |
gtk_grid_get_row_spacing ()
guint
gtk_grid_get_row_spacing (GtkGrid *grid); Возвращает количество пространства между строками grid .
Параметры
grid | a GtkGrid |
Возвращает
межстрочный интервал grid
gtk_grid_set_column_homogeneous ()
void gtk_grid_set_column_homogeneous (GtkGrid *grid,gboolean homogeneous);
Устанавливает, будут ли все столбцы grid иметь одинаковую ширину.
Параметры
grid | a GtkGrid | |
homogeneous |
|
gtk_grid_get_column_homogeneous ()
gboolean
gtk_grid_get_column_homogeneous (GtkGrid *grid); Возвращает, имеют ли все столбцы grid одинаковую ширину.
Параметры
grid | a GtkGrid |
Возвращает
имеют ли все столбцы grid одинаковую ширину.
gtk_grid_set_column_spacing ()
void gtk_grid_set_column_spacing (GtkGrid *grid,guint spacing);
Устанавливает количество пространства между столбцами grid .
Параметры
grid | a GtkGrid | |
spacing | количество пространства для вставки между столбцами |
gtk_grid_get_column_spacing ()
guint
gtk_grid_get_column_spacing (GtkGrid *grid); Возвращает количество пространства между столбцами grid .
Параметры
grid | a GtkGrid |
Возвращает
межстолбцовый интервал grid
gtk_grid_get_baseline_row ()
gint
gtk_grid_get_baseline_row (GtkGrid *grid); Возвращает строку, которая определяет глобальную базовую линию grid .
Параметры
grid | a GtkGrid |
Возвращает
индекс строки, определяющей глобальную базовую линию
С версии: 3.10
gtk_grid_set_baseline_row ()
void gtk_grid_set_baseline_row (GtkGrid *grid,gint row);
Устанавливает, какая строка определяет глобальную базовую линию для всей сетки. Каждая строка в сетке может иметь свою собственную локальную базовую линию, но только одна из них является глобальной, то есть она будет базовой линией в родительском элементе grid .
Параметры
grid | a GtkGrid | |
row | индекс строки |
С версии: 3.10
gtk_grid_get_row_baseline_position ()
GtkBaselinePosition gtk_grid_get_row_baseline_position (GtkGrid *grid,gint row);
Возвращает положение базовой линии row , установленное с помощью gtk_grid_set_row_baseline_position() или значение по умолчанию GTK_BASELINE_POSITION_CENTER.
Параметры
grid | a GtkGrid | |
row | индекс строки |
Возвращает
положение базовой линии row
С версии: 3.10
gtk_grid_set_row_baseline_position ()
void gtk_grid_set_row_baseline_position (GtkGrid *grid,gint row,GtkBaselinePosition pos);
Устанавливает способ позиционирования базовой линии на row сетки, в случае если строке назначено больше места, чем запрошено.
Параметры
grid | a GtkGrid | |
row | индекс строки | |
pos |
Since: 3.10
Типы и значения
struct GtkGrid
struct GtkGrid;
struct GtkGridClass
struct GtkGridClass {
GtkContainerClass parent_class;
};
Члены
Подробности свойств
Свойство “baseline-row”
“baseline-row” int
Строка, которая должна выравниваться с базовой линией, когда valign — GTK_ALIGN_BASELINE.
Владелец: GtkGrid
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “column-homogeneous”
“column-homogeneous” gboolean
Если TRUE, все столбцы имеют одинаковую ширину.
Владелец: GtkGrid
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “column-spacing”
“column-spacing” int
Расстояние между двумя последовательными столбцами.
Владелец: GtkGrid
Флаги: Чтение / Запись
Допустимые значения: [0,32767]
Значение по умолчанию: 0
Свойство “row-homogeneous”
“row-homogeneous” gboolean
Если TRUE, все строки имеют одинаковую высоту.
Владелец: GtkGrid
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “row-spacing”
“row-spacing” int
Расстояние между двумя последовательными строками.
Владелец: GtkGrid
Флаги: Чтение / Запись
Допустимые значения: [0,32767]
Значение по умолчанию: 0
Подробности свойств дочерних элементов
Свойство “height” дочернего элемента
“height” int
Количество строк, занимаемых дочерним элементом.
Владелец: GtkGrid
Флаги: Чтение / Запись
Допустимые значения: >= 1
Значение по умолчанию: 1
Свойство “left-attach” дочернего элемента
“left-attach” int
Номер столбца, к которому прикрепляется левая сторона дочернего элемента.
Владелец: GtkGrid
Флаги: Чтение / Запись
Значение по умолчанию: 0
Свойство “top-attach” дочернего элемента
“top-attach” int
Номер строки, к которой прикрепляется верхняя сторона дочернего элемента.
Владелец: GtkGrid
Флаги: Чтение / Запись
Значение по умолчанию: 0
Свойство “width” дочернего элемента
“width” int
Количество столбцов, занимаемых дочерним элементом.
Владелец: GtkGrid
Флаги: Чтение / Запись
Допустимые значения: >= 1
Значение по умолчанию: 1
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkGrid.html