Менеджеры компоновки

   
На этом шаге рассмотрим менеджеры компоновки.

   
Менеджеры компоновки предоставляют возможности для горизонтального, вертикального и табличного размещения. Они способны управлять размещением не только виджетов, но и встроенных компоновок. Это позволяет конструировать довольно сложные размещения.

   
Фундаментом для всей группы менеджеров компоновки является класс QLayout. Это абстрактный класс, унаследованный сразу от двух классов: QObject и QLayoutItem (рис. 1). Этот класс определен в заголовочном файле QLayout.


Рис.1. Иерархия классов менеджеров компоновки

   
От класса QLayout унаследованы классы QGridLayout и QBoxLayout (рис. 1).

   
Класс QGridLayout управляет табличным размещением, а от QBoxLayout унаследованы два класса QHBoxLayout и QVBoxLayout для горизонтального и вертикального размещения.

   
По умолчанию между виджетами остается небольшое расстояние. Это расстояние необходимо для их визуального разделения. Задать его можно с помощью метода setSpacing(), передав в него нужное значение в пикселах.

   
Методом setMargin() можно установить отступ виджетов от границы компоновки, обычно типичными значениями могут быть 5 или 10 пикселов. Рис. 2 иллюстрирует смысл этих методов на примере горизонтального размещения.


Рис.2. Размещение виджетов по горизонтали

   
При помощи метода addWidget() выполняется добавление виджетов в компоновку, а с помощью метода addLayout() можно добавлять встроенные менеджеры компоновки. Если понадобится удалить какой-либо виджет из компоновки, то следует воспользоваться методом removeWidget(), передав ему указатель на этот виджет.

   
Объекты размещений отвечают за правильное размещение виджетов и присвоение им нужных виджетов-предков.

   
На следующем шаге рассмотрим горизонтальное и вертикальное размещение.

Предыдущий шаг
Содержание
Следующий шаг



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий