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’s “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 | объект 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 | объект GtkGrid |
Возвращаемое значение
имеют ли все строки grid одинаковую высоту.
gtk_grid_set_row_spacing ()
void gtk_grid_set_row_spacing (GtkGrid *grid,guint spacing);
Устанавливает расстояние между строками grid.
Параметры
grid | объект GtkGrid | |
spacing | расстояние между строками |
gtk_grid_get_row_spacing ()
guint
gtk_grid_get_row_spacing (GtkGrid *grid); Возвращает расстояние между строками grid.
Параметры
grid | объект 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 | объект GtkGrid |
Возвращаемое значение
имеют ли все столбцы grid одинаковую ширину.
gtk_grid_set_column_spacing ()
void gtk_grid_set_column_spacing (GtkGrid *grid,guint spacing);
Устанавливает расстояние между столбцами grid.
Параметры
grid | объект GtkGrid | |
spacing | расстояние между столбцами |
gtk_grid_get_column_spacing ()
guint
gtk_grid_get_column_spacing (GtkGrid *grid); Возвращает расстояние между столбцами grid.
Параметры
grid | объект GtkGrid |
Возвращаемое значение
расстояние между столбцами grid
gtk_grid_get_baseline_row ()
gint
gtk_grid_get_baseline_row (GtkGrid *grid); Возвращает строку, определяющую глобальную линию базовой точки grid.
Параметры
grid | объект GtkGrid |
Возвращаемое значение
индекс строки, определяющей глобальную линию базовой точки
С: 3.10
gtk_grid_set_baseline_row ()
void gtk_grid_set_baseline_row (GtkGrid *grid,gint row);
Устанавливает строку, определяющую глобальную линию базовой точки для всей сетки. Каждая строка в сетке может иметь свою локальную базу, но только одна из них является глобальной, что означает, что это будет база в родительском элементе grid.
Параметры
grid | объект 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 | объект 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.20/GtkGrid.html