Часть 4. Обзор контейнеров

Содержание
4.1. Добавление и удаление виджетов
4.2. Просмотр дочерних контейнеру виджетов
4.3. Установление значения границы контейнера

Иерархия наследования

Объект
   +--- Widget
         +--- Container
               +--- Box
         

Контейнеры - это виджеты, которые содержат другие виджеты

Первый тип контейнера является подклассом Bin, который является потомком класса(?) Container. Эти контейнеры могут иметь только одного потомка и наследовать его возможности. Кнопки и Фреймы являются хорошим примером этог7о типа контейнеров.

Второй тип контейнеров может содержать много виджетов и используется для контроля их лайотов. Примеры такого типа приведены на страничке, описывающей поведение Box и Tables

4.1. Добавление и удаление виджетов

Виджеты могут быть добавлены или удалены при помощи следующих функций

$container->add( $widget );

$container->remove( $widget );

После того, как виджеты будут добавлены к контейнеру, они не будут видимыми до тех пор, пока их не показать функцией show() или до того, как контейнер не обратится к функции show_all()

4.2. Просмотр дочерних контейнеру виджетов

Нижеследующие функции возвращают список виджетов, находящихся в контейнере

@children = $container->children();

4.3. Установление значения границы контейнера

В данном случае граница контейнера является значением отступа в пикселах до виджета(-ов), находящегося(-ихся) в контейнере и она(они) может(-ут) быть установлена(-ы) при помощи следующих двух функций:

$container->border_width();

$container->set_border_width();

Первая функция определена в Gtk как макрос для второй, хотя между обоими в принципе нет никакой разницы, однако, лучше использовать вторую функцию. Относительно get_border_width ничего не известно.