QML-тип ButtonLayout
Контейнер, управляющий расположением элементов типа Button. Подробнее…
| Строка импорта: | import Sailfish.Silica 1.0 | 
Свойства
- columnSpacing : real
 - preferredWidth : real
 - rowSpacing : real
 
Прикрепляемые свойства
- newLine : bool
 
Подробное описание
Тип ButtonLayout — контейнер, управляющий расположением элементов типа Button (кнопок)
согласно правилам стилизации ОС Аврора.
Обычно он используется для группировки кнопок, управления их размерами и положением на экране. Это позволяет достичь приятного вида на различных типах устройств и разных языковых переводах, так как после перевода текста количество символов может различаться.
import QtQuick 2.2
import Sailfish.Silica 1.0
Page {
    ButtonLayout {
        Button {
            text: "Кнопка 1"
        }
        Button {
            text: "Кнопка 2"
        }
        Button {
            text: "Кнопка 3"
        }
    }
}
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: "Кнопка 1"
        }
        Button {
            ButtonLayout.newLine: true
            text: "Кнопка 2"
        }
    }
}