Spec-Zone.ru › Qt 5.15

Тип SplitView QML

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

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

Элемент

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

Свойства

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

Методы

  • void addItem(Элемент item)
  • void removeItem(Элемент item)

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

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

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

Поскольку размер элемента fillWidth автоматически изменяется в соответствии с дополнительным пространством, явные присваивания его свойств width и height будут игнорироваться (но Layout.minimumWidth и Layout.maximumWidth будут всё ещё учитываться). Начальные размеры других элементов должны быть заданы через свойства width и height. Любое присваивание связи свойству 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 свойство bool styleData.index Указывает индекс ручки разделителя. Ручка между первым и вторым элементом получит индекс 0, следующая ручка — индекс 1 и т. д.
readonly свойство bool styleData.hovered На ручке выполняется наведение.
readonly свойство bool styleData.pressed На ручке выполняется нажатие.
readonly свойство 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 из представления.

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

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

Spec-Zone.ru

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