| 
 | |
|  | 
| GTK+ Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Child Properties | ||||
| GtkBoxGtkBox Базовый класс для контейнеров | 
#include <gtk/gtk.h>
            GtkBox;
            GtkBoxChild;
void        gtk_box_pack_start              (GtkBox *box,
                                             GtkWidget *child,
                                             gboolean expand,
                                             gboolean fill,
                                             guint padding);
void        gtk_box_pack_end                (GtkBox *box,
                                             GtkWidget *child,
                                             gboolean expand,
                                             gboolean fill,
                                             guint padding);
void        gtk_box_pack_start_defaults     (GtkBox *box,
                                             GtkWidget *widget);
void        gtk_box_pack_end_defaults       (GtkBox *box,
                                             GtkWidget *widget);
gboolean    gtk_box_get_homogeneous         (GtkBox *box);
void        gtk_box_set_homogeneous         (GtkBox *box,
                                             gboolean homogeneous);
gint        gtk_box_get_spacing             (GtkBox *box);
void        gtk_box_set_spacing             (GtkBox *box,
                                             gint spacing);
void        gtk_box_reorder_child           (GtkBox *box,
                                             GtkWidget *child,
                                             gint position);
void        gtk_box_query_child_packing     (GtkBox *box,
                                             GtkWidget *child,
                                             gboolean *expand,
                                             gboolean *fill,
                                             guint *padding,
                                             GtkPackType *pack_type);
void        gtk_box_set_child_packing       (GtkBox *box,
                                             GtkWidget *child,
                                             gboolean expand,
                                             gboolean fill,
                                             guint padding,
                                             GtkPackType pack_type);
  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkBox
                                 +----GtkButtonBox
                                 +----GtkVBox
                                 +----GtkHBoxGtkBox реализует AtkImplementorIface.
"homogeneous" gboolean : Read / Write "spacing" gint : Read / Write
"expand" gboolean : Read / Write "fill" gboolean : Read / Write "pack-type" GtkPackType : Read / Write "padding" guint : Read / Write "position" gint : Read / Write
GtkBox это абстрактный виджет включающий функциональность для специального вида контейнера, который организует переменное количество виджетов в прямоугольной области. GtkBox в настоящее время имеет два производных класса, GtkHBox и GtkVBox.
Прямоугольная область GtkBox организует содержимое или в единственную строку или в единственный столбец, в зависимости от типа контейнера, GtkHBox или GtkVBox соответственно. Таким образом, все дочерние виджеты GtkBox имеют с одной строны одинаковый размер, который определяется либо по высоте строки, либо по ширине столбца.
GtkBox использует понятие упаковка (packing). Упаковка обращается к дополнительным виджетам с информацией для определённой позиции в GtkContainer. Для GtkBox, есть две относительные позиции: start и end контейнера. Для GtkVBox, начало определяется как верх контейнера, а конец как его низ. Для GtkHBox начало определяется как левая сторона, а конец определяется как правая сторона.
Используйте многократные вызовы
gtk_box_pack_start()
для упаковки виджетов в GtkBox от начала
до конца. Используйте gtk_box_pack_end()
для добавления виджетов от конца в
начало. Вы можете перемешивая эти вызовы
вставлять виджеты с обоих концов одного
и того же GtkBox. 
Используйте gtk_box_pack_start_defaults()
или gtk_box_pack_end_defaults()
для упаковки виджетов в GtkBox, если вам
не нужно определять атрибуты expand,
fill, или padding. 
Поскольку GtkBox - это GtkContainer,
вы можете так же использовать
gtk_container_add()
для вставки виджетов в контейнер, и они
будут упакованы как если бы использовалась
gtk_box_pack_start_defaults().
Используйте gtk_container_remove()
для удаления виджетов из GtkBox. 
Используйте gtk_box_set_homogeneous()
для определения должны ли все дочерние
виджеты GtkBox занимать одинаковое
пространство. 
Используйте gtk_box_set_spacing()
для определения минимального интервала
между всеми дочерними виджетами в
GtkBox. 
Используйте gtk_box_reorder_child()
для перемещения дочерних виджетов
внутри контейнера GtkBox. 
Используйте gtk_box_set_child_packing()
для сброса атрибутов expand,
fill и padding любого
дочернего виджета GtkBox. Используйте
gtk_box_query_child_packing()
для запроса этих полей. 
typedef struct {
  GList *children;
  gint16 spacing;
  guint homogeneous : 1;
} GtkBox;GtkBox описывает образец GtkBox и содержит следующие поля. (Эти поля должны рассматриваться только для чтения. Они не должны устанавливаться приложением.)
| GList
			*  | Список дочерних виджетов GtkBox. Данные представлены в виде списка структур типа GtkBoxChild. | 
| gint16
			 | Количество пикселей между дочерними
			виджетами GtkBox, по умолчанию ноль.
			Используйте  | 
| guint
			 | Значение  | 
typedef struct {
  GtkWidget *widget;
  guint16 padding;
  guint expand : 1;
  guint fill : 1;
  guint pack : 1;
  guint is_secondary : 1;
} GtkBoxChild;
 GtkBoxChild содержит дочерние виджеты GtkBox
и описывает как они упакованы в GtkBox.
Используйте gtk_box_query_child_packing()
и gtk_box_set_child_packing()
для запроса и установки полей padding,
expand, fill и pack.
GtkBoxChild содержит следующие поля. (Это поля только для чтения. Они не должны изменяться приложением.)
| GtkWidget *  | Дочерний виджет упакованный в GtkBox. | 
| guint16
			 | Количество дополнительных пикселей между соседними дочерними виджетами, устанавливается при упаковке, по умолчанию ноль. | 
| guint  | Флаг указывающий должен ли данный
			виджет получить дополнительное
			пространство. Любое дополнительное
			пространство в родительском GtkBox
			распределяется между дочерними
			виджетами, если это атрибут установлен
			в значение  | 
| guint  | Флаг указывает заполнено ли
			дополнительное пространство этим
			виджетом, согласно атрибуту  | 
| guint  | GtkPackType указывающий упаковывается ли дочерний виджет с начала (верх/лево) или с конца (низ/право) GtkBox. | 
void        gtk_box_pack_start              (GtkBox *box,
                                             GtkWidget *child,
                                             gboolean expand,
                                             gboolean fill,
                                             guint padding);
Добавляет child в box,
упаковывает относительно начала
контейнера box. Виджет child
упаковывается после любого другого
дочернего виджета упакованного с начала
в контейнер box. 
| 
 | |
| 
 | GtkWidget для добавления
			в  | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | Интервал в пикселах между соседними,
			дочерними виджетами, помимо общего
			количества определенного параметром
			 | 
void        gtk_box_pack_end                (GtkBox *box,
                                             GtkWidget *child,
                                             gboolean expand,
                                             gboolean fill,
                                             guint padding);
Добавляет child в box,
упаковывая относительно конца контейнера
box. Виджет child
упаковывается после (начиная с конца)
любого другого виджета упакованного
относительно конца контейнера box.
| 
 | |
| 
 | GtkWidget для добавления
			в  | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | Интервал в пикселах между соседними,
			дочерними виджетами, помимо общего
			количества определенного параметром
			spacing в GtkBox. Если
			child это виджет в одном из
			относительных концов контейнера box,
			то  | 
void        gtk_box_pack_start_defaults     (GtkBox *box,
                                             GtkWidget *widget);
Добавляет widget в box,
упаковывая относительно начала контейнера
box. Виджет упаковывается
после любого другого виджета относительно
начала контейнера box. 
Параметры упаковки виджета expand,
fill и padding в
GtkBoxChild, являются значениями по умолчанию,
TRUE,
TRUE,
и 0, соответственно. 
| 
 | |
| 
 | GtkWidget для добавления
			в  | 
void        gtk_box_pack_end_defaults       (GtkBox *box,
                                             GtkWidget *widget);
Добавляет widget в box, упаковывая
относительно конца контейнера box.
Виджет упаковывается после любого
другого виджета относительно конца
контейнера box. 
Параметры упаковки виджета expand,
fill и padding в GtkBoxChild, являются
значениями по умолчанию, TRUE,
TRUE,
и 0, соответственно. 
| 
 | |
| 
 | GtkWidget для добавления в box. | 
gboolean gtk_box_get_homogeneous (GtkBox *box);
Определяет занимают ли виджеты одинаковое
пространство. Смотрите gtk_box_set_homogeneous().
| 
 | |
| Возвращает: | 
 | 
void        gtk_box_set_homogeneous         (GtkBox *box,
                                             gboolean homogeneous);
Устанавливает поле homogeneous
 GtkBox, контролируя
действительно ли всем виджетам в
контейнере box распределено
одинаковое пространство. 
| 
 | |
| 
 | Логическое значение,  | 
gint gtk_box_get_spacing (GtkBox *box);
Определяет значение установленное с
помощью gtk_box_set_spacing().
| 
 | |
| Возвращает: | Интервал между соседними виджетами | 
void        gtk_box_set_spacing             (GtkBox *box,
                                             gint spacing);
Устанавливает поле spacing
объекта GtkBox, которое
определяет размер интервала между
виджетами в пикселах в контейнере box.
| 
 | |
| 
 | Количество пикселей между дочерними виджетами. | 
void        gtk_box_reorder_child           (GtkBox *box,
                                             GtkWidget *child,
                                             gint position);
Перемещает child в новую
position в списке дочерних
виджетов контейнера box.
Список  это поле children
GtkBox, а также оба виджета
упакованных как GTK_PACK_START
и как GTK_PACK_END,
в порядке в котором эти виджеты были
добавлены к box. 
Позиция виджета в списке дочерних
виджетов контейнера box
определяет место упаковки виджета в
контейнере box. Дочерний
виджет в некоторой позиции списка
упаковывается после всех виджетов этого
же упаковочного типа которые находятся
перед ним в списке. 
| 
 | |
| 
 | GtkWidget для перемещения. | 
| 
 | Новая позиция для  | 
void        gtk_box_query_child_packing     (GtkBox *box,
                                             GtkWidget *child,
                                             gboolean *expand,
                                             gboolean *fill,
                                             guint *padding,
                                             GtkPackType *pack_type);
Возвращает информацию об упаковке child
в box. 
| 
 | |
| 
 | GtkWidget для запроса информации. | 
| 
 | Значение поля  | 
| 
 | Значение поля  | 
| 
 | Значение поля  | 
| 
 | Значение поля  | 
void        gtk_box_set_child_packing       (GtkBox *box,
                                             GtkWidget *child,
                                             gboolean expand,
                                             gboolean fill,
                                             guint padding,
                                             GtkPackType pack_type);
Устанавливает способ упаковки child
в box. 
| 
 | |
| 
 | GtkWidget для установки значений. | 
| 
 | Устанавливает значение поля  | 
| 
 | Устанавливает значение поля fill в GtkBoxChild. | 
| 
 | Устанавливает значение поля padding в GtkBoxChild. | 
| 
 | Устанавливает значение поля pack в GtkBoxChild. | 
homogeneous""homogeneous" gboolean : Read / Write
Должны ли все виджеты быть одного размера.
Значение по умолчанию: FALSE
spacing""spacing" gint : Read / Write
Интервал между дочерними виджетами.
Допустимые значения: >= 0
Значение по умолчанию: 0
expand""expand" gboolean : Read / Write
Должен ли виджет занимать все свободное пространство когда увеличивается его родитель.
Значение по умолчанию: TRUE
fill""fill" gboolean : Read / Write
Должно ли дополнительное пространство распределяться для виджета или просто использоваться как дополнение.
Значение по умолчанию: TRUE
pack-type""pack-type" GtkPackType : Read / Write
GtkPackType указывает тип упаковки в контейнере, сначала или с конца.
Значение по умолчанию: GTK_PACK_START
padding""padding" guint : Read / Write
Интервал между соседними виджетами, в пикселах.
Допустимые значения: <= G_MAXINT
Значение по умолчанию: 0
position""position" gint : Read / Write
Перечень дочерних виджетов в радителе.
Допустимые значения: >= -1
Значение по умолчанию: 0
| Наследственный класс который организует виджеты горизонтально в одну строку. | |
| Наследственный класс организующий виджеты в один столбец. | |
| GtkWidget полезный для изображения границ вокруг GtkBox. | |
| GtkContainer для организации виджетов в сетку, вместо независимых строк и столбцов. | |
| GtkContainer для организации произвольного размещения виджетов. | 
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |