GtkGrid
GtkGrid — Размещение виджетов по строкам и столбцам
Функции
| GtkWidget * | gtk_grid_new () |
| void | gtk_grid_attach () |
| void | gtk_grid_attach_next_to () |
| void | gtk_grid_remove () |
| GtkWidget * | gtk_grid_get_child_at () |
| void | gtk_grid_query_child () |
| 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 () |
| int | 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 | Чтение / Запись |
Типы и значения
| struct | GtkGrid |
| struct | GtkGridClass |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkGrid
Реализованные интерфейсы
GtkGrid реализует GtkAccessible, GtkBuildable, GtkConstraintTarget и GtkOrientable.
Включаемые файлы
#include <gtk/gtk.h>
Описание
GtkGrid — контейнер, который организует свои дочерние виджеты в строки и столбцы, с произвольными позициями и горизонтальными/вертикальными разделами.
Дочерние элементы добавляются с помощью gtk_grid_attach(). Они могут занимать несколько строк или столбцов. Также можно добавить дочерний элемент рядом с существующим, используя gtk_grid_attach_next_to(). Для удаления дочернего элемента из сетки используйте gtk_grid_remove(). Поведение GtkGrid, когда несколько дочерних элементов занимают одну ячейку сетки, не определено.
Узлы CSS
GtkGrid использует единственный узел CSS с именем grid.
Доступность
GtkGrid использует роль GTK_ACCESSIBLE_ROLE_GROUP.
Функции
gtk_grid_new ()
GtkWidget *
gtk_grid_new (void); Создаёт новый виджет сетки.
Возвращает
новый GtkGrid
gtk_grid_attach ()
void gtk_grid_attach (GtkGrid *grid,GtkWidget *child,int column,int row,int width,int height);
Добавляет виджет в сетку.
Позиция child определяется значениями column и row . Количество «ячеек», которые займёт child, определяется значениями width и height .
Параметры
grid | объект GtkGrid | |
child | виджет для добавления | |
column | номер столбца, к которому прикрепляется левая сторона | |
row | номер строки, к которой прикрепляется верхняя сторона | |
width | количество столбцов, которые занимает | |
height | количество строк, которые занимает |
gtk_grid_attach_next_to ()
void gtk_grid_attach_next_to (GtkGrid *grid,GtkWidget *child,GtkWidget *sibling,GtkPositionType side,int width,int height);
Добавляет виджет в сетку.
Виджет размещается рядом с sibling, со стороны, определяемой side. Если sibling равно NULL, виджет размещается в строке (для расположения слева или справа) или столбце 0 (для расположения сверху или снизу) в конце, указанном side.
Прикрепление виджетов с метками [1], [2], [3] с sibling = NULL и side = GTK_POS_LEFT приводит к макету 3[1].
Параметры
grid | объект GtkGrid | |
child | виджет для добавления | |
sibling | виджет | [allow-none] |
side | сторона | |
width | количество столбцов, которые занимает | |
height | количество строк, которые занимает |
gtk_grid_remove ()
void gtk_grid_remove (GtkGrid *grid,GtkWidget *child);
Удаляет дочерний элемент из grid после его добавления с помощью gtk_grid_attach() или gtk_grid_attach_next_to().
Параметры
grid | объект GtkGrid | |
child | дочерний виджет для удаления |
gtk_grid_get_child_at ()
GtkWidget * gtk_grid_get_child_at (GtkGrid *grid,int column,int row);
Возвращает дочерний элемент grid, чья область охватывает ячейку сетки по координатам column, row.
Параметры
grid | объект GtkGrid | |
column | левый край ячейки | |
row | верхний край ячейки |
Возвращает
дочерний элемент в заданной позиции или NULL.
[transfer none][nullable]
gtk_grid_query_child ()
void gtk_grid_query_child (GtkGrid *grid,GtkWidget *child,int *column,int *row,int *width,int *height);
Запрашивает точки привязки и размеры child внутри заданной сетки GtkGrid.
Параметры
grid | объект GtkGrid | |
child | дочерний элемент GtkWidget | |
column | столбец, к которому прикрепляется левая сторона | [out][optional] |
row | строка, к которой прикрепляется верхняя сторона | [out][optional] |
width | количество столбцов, занимаемых | [out][optional] |
height | количество строк, занимаемых | [out][optional] |
gtk_grid_insert_row ()
void gtk_grid_insert_row (GtkGrid *grid,int position);
Вставляет строку в указанную позицию.
Дочерние элементы, прикреплённые в этой или нижележащей позиции, смещаются вниз на одну строку. Дочерние элементы, которые охватывают эту позицию, увеличивают свой охват на новую строку.
Параметры
grid | объект GtkGrid | |
position | позиция для вставки строки |
gtk_grid_insert_column ()
void gtk_grid_insert_column (GtkGrid *grid,int position);
Вставляет столбец в указанную позицию.
Дочерние элементы, прикреплённые в этой позиции или справа от неё, смещаются на один столбец вправо. Дочерние элементы, охватывающие эту позицию, увеличиваются так, чтобы охватывать новый столбец.
Параметры
grid | a GtkGrid | |
position | позиция, в которую нужно вставить столбец |
gtk_grid_remove_row ()
void gtk_grid_remove_row (GtkGrid *grid,int position);
Удаляет строку из сетки.
Дочерние элементы, расположенные в этой строке, удаляются, высота дочерних элементов, которые охватывают эту строку, уменьшается на единицу, а дочерние элементы ниже строки перемещаются вверх.
Параметры
grid | a GtkGrid | |
position | позиция строки для удаления |
gtk_grid_remove_column ()
void gtk_grid_remove_column (GtkGrid *grid,int position);
Удаляет столбец из сетки.
Дочерние элементы, расположенные в этом столбце, удаляются, ширина дочерних элементов, которые охватывают этот столбец, уменьшается на единицу, а дочерние элементы после столбца перемещаются влево.
Параметры
grid | a GtkGrid | |
position | позиция столбца для удаления |
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 | сторона |
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_set_baseline_row ()
void gtk_grid_set_baseline_row (GtkGrid *grid,int row);
Устанавливает строку, определяющую глобальную базовую линию для всей сетки. Каждая строка в сетке может иметь свою локальную базовую линию, но только одна из них является глобальной, что означает, что она будет базовой линией в родительском элементе grid.
Параметры
grid | a GtkGrid | |
row | индекс строки |
gtk_grid_get_row_baseline_position ()
GtkBaselinePosition gtk_grid_get_row_baseline_position (GtkGrid *grid,int row);
Возвращает положение базовой линии row, заданное функцией gtk_grid_set_row_baseline_position(), или значение по умолчанию GTK_BASELINE_POSITION_CENTER.
Параметры
grid | a GtkGrid | |
row | индекс строки |
Возвращаемое значение
положение базовой линии row
gtk_grid_set_row_baseline_position ()
void gtk_grid_set_row_baseline_position (GtkGrid *grid,int row,GtkBaselinePosition pos);
Устанавливает, как должна быть расположена базовая линия на row сетки в случае, если этой строке выделено больше места, чем требуется.
Параметры
grid | a GtkGrid | |
row | индекс строки | |
pos |
Типы и значения
struct GtkGrid
struct GtkGrid;
struct GtkGridClass
struct GtkGridClass {
GtkWidgetClass 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
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkGrid.html