Spec-Zone.ru › Qt 5.14

Тип QML SplitView

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

Заявление об импорте: 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. Любые привязки к ширине или высоте элемента будут разорваны, как только пользователь перетащит ручку разделителя этого элемента.

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

  • Если элемент 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.14/qml-qtquick-controls-splitview.html

Spec-Zone.ru

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