Spec-Zone.ru › GTK 4.0

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

номер столбца, к которому прикрепляется левая сторона child

row

номер строки, к которой прикрепляется верхняя сторона child

width

количество столбцов, которые занимает child

height

количество строк, которые занимает child

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

виджет grid, рядом с которым будет размещён child, или NULL, чтобы разместить child в начале или конце.

[allow-none]

side

сторона sibling, рядом с которой размещается child

width

количество столбцов, которые занимает child

height

количество строк, которые занимает child

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 grid

column

столбец, к которому прикрепляется левая сторона child.

[out][optional]

row

строка, к которой прикрепляется верхняя сторона child.

[out][optional]

width

количество столбцов, занимаемых child.

[out][optional]

height

количество строк, занимаемых child.

[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

дочерний элемент grid , рядом с которым будет размещена новая строка или столбец

side

сторона sibling , рядом с которой расположен child

gtk_grid_set_row_homogeneous ()

void
gtk_grid_set_row_homogeneous (GtkGrid *grid,
                              gboolean homogeneous);

Устанавливает, будут ли все строки grid иметь одинаковую высоту.

Параметры

grid

a GtkGrid

homogeneous

TRUE для создания однородных строк

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

TRUE для создания однородных столбцов

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 ()

int
gtk_grid_get_baseline_row (GtkGrid *grid);

Возвращает строку, которая определяет глобальную базовую линию grid .

Параметры

grid

a GtkGrid

Возвращает

индекс строки, определяющий глобальную базовую линию

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

a GtkBaselinePosition

Типы и значения

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

См. также

GtkBox

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API