Мы устанавливаем в конструкторе FindFileDialog минимальный размер формы на значение 265 х 190 и ее начальный размер на значение 365 х 240. В обработчике событий resizeEvent () мы отдаем все дополнительное пространство виджетам, размеры которых мы хотим увеличить. Это обеспечивает плавное изменение вида формы при изменении пользователем ее размеров.

Рис. 6.2. Изменение размеров диалогового окна, допускающего изменение своих размеров
Точно так же, как при абсолютном позиционировании, при ручной компоновке в программе приходится жестко задавать много констант, рассчитываемых программистом. Написание подобной программы представляет собой нудное занятие, особенно если проект изменяется. И все-таки существует риск отсечения текста. Этого риска можно избежать, принимая во внимание идеальные размеры дочерних виджетов, но это еще больше усложняет программу.
Самый удобный метод компоновки виджетов на форме - использование менеджеров компоновки Qt. Менеджеры компоновки обеспечивают осмысленные, принимаемые по умолчанию значения параметров для каждого типа виджета и учитывают идеальный размер каждого виджета, который, в свою очередь, обычно зависит от шрифта виджета, его стиля и содержимого.

Глава 6. управление компоновкой
Применение QHBoxLayout И QVBoxLayout достаточно очевидное, однако с QGridLayout дело обстоит несколько сложнее. Менеджер QGridLayout работает с; двухмерной сеткой ячеек. Текстовая метка Qlabel, расположенная в Верхнем левом углу этого менеджера компоновки, имеет координаты (0,0), а соответствующая строка редактирования QLineEdit имеет координаты (0, 1). Флажок QCheckBox размещается в двух столбцах; он занимает Ячейки с координатами (2,0) и (2,1). Расположенные под ним объекты QTreeWidget и QLabel также занимают два столбца. Вызовы функции addWid-get () имеют следующий формат:
v. layoutr>addWidget(виджет, строка, .столбец, колСтрок, колСтолбцов);
J Здесь виджет является дочерним виджетом, который вставляется в менеджер компоновки, (строка, столбец) - координаты верхней левой ячейки,
<< назад вперед >>