Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Qt.docx
Скачиваний:
8
Добавлен:
15.09.2019
Размер:
52.86 Кб
Скачать

Принцип работы с оператором foreach

C использованием этого ключевого слова можно перебрать все элементы контейнера. Данное ключевое слово является альтернативой использованию итератора.

При использовании foreach, так же, как и циклах, можно применять ключевые слова break и continue, а также использовать разные уровни вложенности циклов.

Компоновка виджетов на форме.

Существует три способа управления компоновкой дочерних виджетов формы:

  1. абсолютное позиционирования

  2. ручная компоновка

  3. применение менеджеров компоновки

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

Абсолютное позиционирование имеет следующие недостатки:

- пользователь не может изменять размер окна

- некоторый текст может оказаться отсеченным, если пользователь выбирает необычно большой шрифт или если приложение переводится на другой язык

- виджеты могут иметь неправильные размеры для некоторых стилей

- расчет позиции и размеров должен производится вручную

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

Самый удобный метод компоновки виджетов на форме – это использование менеджеров компоновки QT. Менеджеры компоновки используют осмысленные, принимаемые по умолчанию значения параметров для каждого типа виджета и учитывают идеальный размер каждого виджета, которые в свою очередь обычно зависят от шрифта виджета, его стиля и содержимого. Менеджеры компоновки также учитывают максимальные и минимальные размеры и автоматически подстраивают компоновку в ответ на изменение шрифта, изменение содержимого и изменение размеров окна.

Перечислим 3 наиболее важных менеджера компоновки:

* QHBoxLayout;

* QVBoxLayout;

* QGridLayout;

Класс QHBoxLayout выстараивает виджеты в горизонтальную линию. Данный класс используется для создания горизонтального ряда из выравниваемых объектов.

Класс QVBoxLayout выстраивает виджеты в вертикальную линию. Данный класс используется для создания вертикального ряда из выравниваемых объектов.

Класс QGridLayout выравнивает виджеты по сетке. QGridLayout занимает отведенное ему место, разбивает его на строки и столбцы и помещает каждый подконтрольный виджет в соответствующую ячейку.

Класс QStackedLayout управляет компоновкой набора дочерних виджетов или страниц, показывая в каждый конкретный момент только одну из них и скрывая от пользователя остальные. Сам менеджер остается невидимым и не содержит внутри себя средств для пользователя на изменение страницы.

Политика размера виджета говорит системе компоновки, как его следует растягивать или сжимать. Ниже приведены наиболее полезные значения компонентов:

  1. Fixed – означает, что виджет не может увеличиваться или сжиматься. Размер виджета всегда сохраняет свое идеальное значение.

  2. Minimum – означает, что идеальный размер виджета является его минимальным размером

  3. Maximum – означает, что идеальный размер виджета является его максимальным размером.

  4. Preferred – означает, что идеальный размер виджета является его предпочтительным размером, но виджет может при необходимости сжиматься или растягиваться.

  5. Expanding – означает, что виджет может сжиматься или растягиваться, но в первую очередь он стремится увеличить свой размер.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]