Spec-Zone.ru › Qt 5.13

Тип SplitView QML

Выравнивает элементы с перетаскиваемым разделителем между каждым элементом. Подробнее...

Заявление об импорте: import QtQuick.Controls 1.4
С момента: Qt 5.1
Наследует:

Item

  • Список всех членов, включая унаследованные

Свойства

  • handleDelegate : Компонент
  • orientation : int
  • resizing : bool

Методы

  • void addItem(Item item)
  • void removeItem(Item item)

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

SplitView — это элемент управления, который выравнивает элементы по горизонтали или вертикали с перетаскиваемым разделителем между каждым элементом.

В SplitView всегда будет один (и только один) элемент, у которого свойство Layout.fillWidth установлено в true (или Layout.fillHeight, если orientation равен Qt.Vertical). Это означает, что элемент получит все оставшееся пространство после выравнивания других элементов. По умолчанию это свойство установлено для последнего видимого дочернего элемента SplitView, но его можно изменить, явно установив fillWidth в true для другого элемента.

Поскольку элемент fillWidth автоматически изменяет размер, чтобы соответствовать свободному пространству, явные задания для его свойств width и height будут игнорироваться (но Layout.minimumWidth и Layout.maximumWidth всё ещё будут учитываться). Начальные размеры других элементов должны быть заданы через свойства width и height. Любая привязка к ширине или высоте элемента будет разорвана, как только пользователь перетащит ручку разделителя этого элемента.

Ручка может относиться к элементу либо слева или сверху, либо справа или снизу:

  • Если элемент fillWidth находится справа: ручка относится к левому элементу.
  • Если элемент fillWidth находится слева: ручка относится к правому элементу.

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

SplitView поддерживает установку присоединённых свойств Layout для дочерних элементов, что означает, что вы можете установить следующие присоединённые свойства для каждого дочернего элемента:

  • Layout.minimumWidth
  • Layout.minimumHeight
  • Layout.maximumWidth
  • Layout.maximumHeight
  • Layout.fillWidth (true только для одного дочернего элемента)
  • Layout.fillHeight (true только для одного дочернего элемента)

Примечание: импортируйте QtQuick.Layouts 1.0 в ваш QML-файл, чтобы использовать присоединённые свойства Layout внутри SplitView.

Пример:

Чтобы создать SplitView с тремя элементами и позволить центральному элементу получить избыточное пространство, можно сделать следующее:

SplitView {
    anchors.fill: parent
    orientation: Qt.Horizontal

    Rectangle {
        width: 200
        Layout.maximumWidth: 400
        color: "lightblue"
        Text {
            text: "View 1"
            anchors.centerIn: parent
        }
    }
    Rectangle {
        id: centerItem
        Layout.minimumWidth: 50
        Layout.fillWidth: true
        color: "lightgray"
        Text {
            text: "View 2"
            anchors.centerIn: parent
        }
    }
    Rectangle {
        width: 200
        color: "lightgreen"
        Text {
            text: "View 3"
            anchors.centerIn: parent
        }
    }
}

Документация по свойствам

handleDelegate : Компонент

Это свойство содержит делегата, который будет создан между каждым дочерним элементом. Внутри делегата доступны следующие свойства:

readonly property bool styleData.index Указывает индекс ручки разделителя. Ручка между первым и вторым элементом получит индекс 0, следующая ручка — индекс 1 и т.д.
readonly property bool styleData.hovered Ручка находится под курсором.
readonly property bool styleData.pressed Ручка нажата.
readonly property bool styleData.resizing Ручка перетаскивается.

orientation : int

Это свойство содержит ориентацию SplitView. Значение может быть либо Qt.Horizontal или Qt.Vertical. Значение по умолчанию — Qt.Horizontal.

resizing : bool

Это свойство равно true когда пользователь изменяет размер любого из элементов, перетаскивая ручки разделителей.

Документация по методам

void addItem(Item item)

Добавляет элемент в конец представления.

Этот метод был добавлен в QtQuick.Controls 1.3.

void removeItem(Item item)

Удаляет item из представления.

Этот метод был добавлен в QtQuick.Controls 1.4.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtquick-controls-splitview.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API