QML-тип ButtonLayout

Контейнер, управляющий расположением элементов типа Button (кнопок). Подробнее...

Строка импорта: import Sailfish.Silica 1.0

Свойства

Прикрепляемые свойства

Подробное описание

Тип ButtonLayout — контейнер, управляющий расположением элементов типа Button (кнопок) согласно правилам стилизации ОС Аврора.

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

 import QtQuick 2.2
 import Sailfish.Silica 1.0

 Page {
     ButtonLayout {
         anchors.width: parent.width
         Button {
             text: "Button1"
         }
         Button {
             text: "Button2"
         }
         Button {
             text: "Button3"
         }
     }
 }

ButtonLayout позволяет убедиться, что все элементы Button выстроены в ряд и имеют одинаковый размер. Для кнопок в контейнере ButtonLayout будут всегда выбираться стандартные размеры (Button::preferredWidth) до тех пор, пока текст не перестанет умещаться в кнопку с размером Theme.buttonSizeLarge.

Размер для кнопок определяется максимумом:

  • самой широкой кнопки в ряду из кнопок;
  • ширины кнопки, достаточной для того, чтобы вместить текст;
  • свойства preferredWidth, указанного для кнопки;
  • свойства preferredWidth, указанного в контейнере ButtonLayout.

В дополнение к этому, соседние ряды с тем же количество элементов получат такую же ширину кнопки.

См. также Button.

Описание свойств

columnSpacing : real

Содержит значение расстояния между столбцами из кнопок.

preferredWidth : real

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

Данное свойство может принимать следующие значения:

  • Theme.buttonWidthExtraSmall — значение ширины самой маленькой кнопки в интерфейсе ОС Аврора, которое используется только в случае плотной компоновки кнопок. На экране с портретной ориентацией могут быть размещены три такие кнопки. В большинстве приложений следует избегать использования данного варианта.
  • Theme.buttonWidthSmall — значение ширины маленькой кнопки, которое используется по умолчанию. Данное значение подобрано так, что на экране с портретной ориентацией могут быть размещены две такие кнопки. На больших экранах или на экранах с альбомной ориентацией может быть размещено больше двух маленьких кнопок.
  • Theme.buttonWidthMedium — значение ширины средней кнопки. На экране (в зависимости от его размера и ориентации), как правило, может быть размещена только одна средняя кнопка.
  • Theme.buttonWidthLarge — значение ширины большой кнопки. На экране (в зависимости от его размера и ориентации), как правило, может быть размещена только одна большая кнопка.

rowSpacing : real

Содержит значение расстояния между рядами из кнопок.

Описание прикрепляемых свойств

ButtonLayout.newLine : bool

Данное прикрепляемое свойство определяет, будет ли элемент Button отрисован на новой строке.

Код в примере ниже должен был бы расположить две кнопки в один ряд. Однако, установка прикрепляемого свойства ButtonLayout.newLine в значение true для второго элемента Button приводит к тому, что кнопки будут отрисованы на двух строках.

 import QtQuick 2.2
 import Sailfish.Silica 1.0

 Page {
     ButtonLayout {
         Button {
             text: "Button 1"
         }
         Button {
             ButtonLayout.newLine: true
             text: "Button 2"
         }
     }
 }