3.2.2 GtkBox

GtkBox управляет строкой (GtkHBox) или столбцом (GtkVBox) виджетов. В GtkHBox всем виджетам присвоена одинаковая высота; задача блока заключается в том, чтобы распределить доступную ширину между ними. GtkHBox опционально использует некоторую доступную ширину для вставки промежутков (называемых заполнителями) между виджетами. GtkVBox аналогичен GtkHBox, но в другом направлении (то есть он распределяет доступную высоту, а не ширину). GtkBox -- абстрактный базовый класс; GtkHBox и GtkVBox могут быть почти польностью использованы через его интерфейс. Блоки -- самые используемые контейнеры.

Для создания GtkBox вы должны воспользоваться одним из конструкторов, приведенных в списке функций 3..1 и 3..2. Функции-конструкторы блока принимают два параметра. Если homogeneous равен TRUE, это значит, что все дети блока будут распределены с равным размером. spacing определяет размер пробела между каждым из детей. Существуют функции для изменение промежутка и равномерности после создания блока.

Список функций 3..1: Конструктор GtkHBox
"#include "<gtk/gtkhbox.h>
GtkWidget *gtk_hbox_new(gboolean homogeneous, gint spacing)
Список функций 3..2: Конструктор GtkVBox
"#include "<gtk/gtkvbox.h>
GtkWidget *gtk_vbox_new(gboolean homogeneous, gint spacing)

Есть две базовые функции для добавления ребенка в GtkBox; они показаны в списке функций 3..3.

Список функций 3..3: Упаковка GtkBox
"#include "<gtk/gtkbox.h>
void gtk_box_pack_start(GtkBox *box, GtkWidget *child, gboolean expand, gboolean fill, gint padding) void gtk_box_pack_end(GtkBox *box, GtkWidget *child, gboolean expand, gboolean fill, gint padding)

Блок может содержать два набора виджетов. Первый набор упакован в начале (вверху или слева) блока; второй упакован в конце (внизу или справа). Если вы упакуете три виджета в начало блока, первый упакованный вами виджет окажется самым верхним или левым; второй последует за первым; а третий окажется самым ближайшим к центру блока. Если вы затем упакуете три виджета в конец того же блока, первый из них появится самым нижним или правым; второй последует за ним, а третий появится ближе всех к центру. После упаковки всех шести виджетов, порядок сверху/слева вниз/направо будет таким: 1, 2, 3, 3, 2, 1. Рисунок 3..2 показывает его для GtkVBox.

Рисунок 3..2: Кнопки, упакованные в GtkVBox



Подсекции

Linux Land
2000-09-15