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 () |
Свойства
| gint | baseline-row | Чтение / Запись |
| gboolean | column-homogeneous | Чтение / Запись |
| gint | column-spacing | Чтение / Запись |
| gboolean | row-homogeneous | Чтение / Запись |
| gint | row-spacing | Чтение / Запись |
Свойства дочерних элементов
| gint | height | Чтение / Запись |
| gint | left-attach | Чтение / Запись |
| gint | top-attach | Чтение / Запись |
| gint | width | Чтение / Запись |
Типы и Значения
| struct | GtkGrid |
| struct | GtkGridClass |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkGrid
Реализованные интерфейсы
GtkGrid реализует AtkImplementorIface, GtkBuildable и GtkOrientable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkGrid — это контейнер, который организует свои дочерние виджеты в строки и столбцы. Он очень похож на GtkTable и GtkBox, но последовательно использует свойства GtkWidget “margin” и “expand” вместо пользовательских свойств дочерних элементов, и полностью поддерживает управление геометрией по высоте относительно ширины.
Дочерние элементы добавляются с помощью gtk_grid_attach(). Они могут занимать несколько строк или столбцов. Также можно добавить дочерний элемент рядом с существующим, используя gtk_grid_attach_next_to(). Поведение GtkGrid, когда несколько дочерних элементов занимают одну и ту же ячейку сетки, не определено.
GtkGrid можно использовать как GtkBox, просто используя gtk_container_add(), что разместит дочерние элементы рядом друг с другом в направлении, определяемом свойством “orientation”.
Узлы 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 | верхний край ячейки |
С: 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 иметь одинаковую высоту.
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 иметь одинаковую ширину.
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 |
С: 3.10
Типы и значения
struct GtkGrid
struct GtkGrid;
struct GtkGridClass
struct GtkGridClass {
GtkContainerClass parent_class;
};
Члены
Подробности свойств
Свойство “baseline-row”
“baseline-row” gint
Строка, которая должна выравниваться по базовой линии, когда valign равен GTK_ALIGN_BASELINE.
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “column-homogeneous”
“column-homogeneous” gboolean
Если TRUE, все столбцы имеют одинаковую ширину.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “column-spacing”
“column-spacing” gint
Расстояние между двумя последовательными столбцами.
Флаги: Чтение / Запись
Допустимые значения: [0,32767]
Значение по умолчанию: 0
Свойство “row-homogeneous”
“row-homogeneous” gboolean
Если TRUE, все строки имеют одинаковую высоту.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “row-spacing”
“row-spacing” gint
Расстояние между двумя последовательными строками.
Флаги: Чтение / Запись
Допустимые значения: [0,32767]
Значение по умолчанию: 0
Подробности свойств дочерних элементов
Свойство “height” дочернего элемента
“height” gint
Количество строк, занимаемых дочерним элементом.
Флаги: Чтение / Запись
Допустимые значения: >= 1
Значение по умолчанию: 1
Свойство “left-attach” дочернего элемента
“left-attach” gint
Номер столбца, к которому прикрепляется левая сторона дочернего элемента.
Флаги: Чтение / Запись
Значение по умолчанию: 0
Свойство “top-attach” дочернего элемента
“top-attach” gint
Номер строки, к которой прикрепляется верхняя сторона дочернего виджета.
Флаги: Чтение / Запись
Значение по умолчанию: 0
Свойство “width” дочернего элемента
“width” gint
Количество столбцов, занимаемых дочерним элементом.
Флаги: Чтение / Запись
Допустимые значения: >= 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.22/GtkGrid.html