Шаг 25.
Библиотека Qt.
Управление автоматическим размещением элементов

    На этом шаге рассмотрим управление автоматическим размещением элементов.

    Классы компоновки виджетов (Layouts) являются одной из сильных сторон Qt. По сути это контейнеры, которые после изменения размеров окна автоматически приводят в соответствие размеры и координаты виджетов, находящихся в нем. Хотя они ничего не добавляют к функциональной части самой программы, тем не менее, они очень важны для внешнего вида окон приложения. Компоновка определяет расположение различных виджетов относительно друг друга.

    Конечно, можно "вручную" размещать виджеты в окнах приложения, но это существенно усложняет разработку. Ведь в этом случае нужно отлавливать и обрабатывать изменение размеров окна приложения, чтобы заново упорядочить элементы.

    Еще один из недостатков размещения "вручную" состоит в том, что если приложение поддерживает несколько языков, то, поскольку слова в разных языках имеют разную длину, необходим механизм, который мог бы в процессе работы программы динамически поправлять и изменять размеры и координаты виджетов, иначе части текста на другом языке могут оказаться "отрезанными". Классы компоновки библиотеки Qt выполняют эту непростую работу. Более того, классы компоновки могут инвертировать направление размещения элементов, что может быть полезно для пишущих справа налево, например в Японии.

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

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




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