Spec-Zone.ru › Qt 5.6

Тип QML SplitView

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

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

Item

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

Свойства

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

Методы

  • void addItem(Элемент item)
  • void removeItem(Элемент 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 свойство 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)

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

Этот QML-метод был представлен в QtQuick.Controls 1.3.

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

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

Этот QML-метод был представлен в QtQuick.Controls 1.4.

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

Spec-Zone.ru

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