Использование контейнеров в Qt Designer
Контейнерные виджеты предоставляют высокоуровневый контроль над группами объектов на форме. Они могут использоваться для выполнения различных функций, таких как управление виджетами ввода, предоставление страниц и вкладок, или просто в качестве декоративных контейнеров для других объектов.
Qt Designer предоставляет визуальную обратную связь, чтобы помочь вам размещать объекты внутри контейнеров. Когда вы перетаскиваете объект из панели виджетов (или из другого места) на форму, каждый контейнер будет выделен при наведении курсора на него. Это указывает, что вы можете поместить объект внутрь, сделав его дочерним объектом контейнера. Эта обратная связь важна, так как легко поместить объекты рядом с контейнерами, не помещая их внутрь. Внутри контейнеров могут использоваться как виджеты, так и разделители.
Стек виджетов, виджеты вкладок и палитры обрабатываются в Qt Designer особенно. Обычно при добавлении страниц (вкладок, страниц, секций) в эти контейнеры в собственном коде необходимо предоставить существующие виджеты, либо в качестве заглушек, либо содержащие дочерние виджеты. В Qt Designer эти виджеты автоматически создаются для вас, так что вы можете сразу добавить дочерние объекты на каждую страницу.
Каждый контейнер, как правило, позволяет упорядочивать свои дочерние объекты в одном или нескольких макетах. Тип управления макетом зависит от каждого контейнера, хотя установка макета обычно сводится к выделению контейнера щелчком мыши и применению макета. В таблице ниже представлен список доступных контейнеров.
|
Фреймы Фреймы используются для обрамления и группирования виджетов, а также для декорации. Они используются в качестве основы для более сложных контейнеров, но также могут использоваться в качестве заглушек на формах. Наиболее важные свойства фреймов — |
|
|
Групповые рамки Групповые рамки обычно используются для объединения наборов флажков и радиокнопок с похожими целями. Среди значимых свойств групповых рамок — |
|
|
Стек виджетов Стек виджетов представляет собой набор виджетов, в котором виден только верхний слой. Управление видимым слоем обычно выполняется другим виджетом, например, выпадающим списком, с использованием сигналов и слотов. Qt Designer отображает стрелки в правом верхнем углу стека, чтобы вы могли видеть все виджеты в стеке во время проектирования. Эти стрелки не отображаются в предварительном просмотре или в конечном компоненте. Чтобы переходить между страницами в стеке, выберите виджет стека и используйте пункты Следующая страница и Предыдущая страница в контекстном меню. Пункты контекстного меню Вставить страницу и Удалить страницу позволяют добавлять и удалять страницы. |
|
|
Виджеты вкладок Виджеты вкладок позволяют разработчику разделить содержимое виджета на разные именованные разделы, только один из которых отображается в данный момент. По умолчанию виджет вкладок содержит две вкладки, которые можно удалять или переименовывать по мере необходимости. Вы также можете добавлять дополнительные вкладки. Чтобы удалить вкладку:
Чтобы добавить новую вкладку:
|
|
|
Виджеты палитры инструментов Виджеты палитры инструментов предоставляют набор страниц или секций в палитре. Они обрабатываются аналогично виджетам стека. Чтобы переименовать страницу в палитре инструментов, установите палитру инструментов как текущую страницу и измените свойство Чтобы добавить новую страницу, выберите Вставить страницу в контекстном меню виджета палитры инструментов. Вы можете добавить страницу перед или после текущей страницы. Чтобы удалить страницу, выберите Удалить страницу в контекстном меню виджета палитры инструментов. |
|
|
Виджеты причалов Виджеты причалов представляют собой плавающие панели, часто содержащие виджеты ввода и более сложные элементы управления, которые прикреплены к краям основного окна в «зонах причалов» или отображаются как независимые инструменты. Хотя виджеты причалов можно добавить к любому типу формы, они обычно используются с формами, созданными из шаблона основного окна. |
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/designer-using-containers.html