Составители:
Рубрика:
68
аргумента указатель на родительский QWidget. В случае, если передаётся «0», как в настоящем
примере, виджет создаётся как самостоятельное окно в системе.
Итак, собрав и запустив пример в каталоге lab04/01
, мы обнаружим, что было отображено пустое
окно.
Компоновщики (Layout managers)
Мотивация использования. Следующий пример наглядно демонстрирует потребность в
компоновщиках.
· Попробуйте добавить в корневой виджет в предыдущем примере несколько элементов типов
QPushButton, QLabel, QTextEdit
o включите соответствующие заголовочные файлы, например,
#include <QPushButton>
o создайте объекты, передав в конструкторе указатель на родительский widget
QPushButton but1(&widget)
· Соберите и запустите приложение.
Обратите внимание, что все элементы были помещены в левый верхний угол.
Разумеется, все созданные нами дочерние виджеты, могут быть размещены в необходимых местах
явно, при помощи задания координат и размеров, но такой метод в крайней степени неудобен и
вынудит нас постоянно отслеживать изменения в размере родительского виджета, дабы
перекомпоновать дочерние. Компоновщик, представленный общим классом QLayout, позволяет
избежать этих проблем.
Работа с компоновщиками. Компоновщик отвечает за размещение виджетов в области компоновки в
соответствии с некоторыми правилами компоновки. Изменение размеров области компоновки
приводит обычно к перекомпоновке.
Рассмотрим виды простейших компоновщиков.
· QHBoxLayout, QVBoxLayout — размещает элементы в один ряд
(вертикальный либо горизонтальный)
· QGridLayout — размещает элементы в ячейки таблицы
Рис. 6.4.1.
Рис. 6.4.2.
· QFormLayout — размещает элементы сверху вниз в две колонки. Такая организация интерфейса
часто используется при заполнении различных форм, где одна колонка — описание, а другая —
поле ввода)
Рис. 6.4.3.
Страницы
- « первая
- ‹ предыдущая
- …
- 66
- 67
- 68
- 69
- 70
- …
- следующая ›
- последняя »
