Spec-Zone.ru › Qt 5.12

Тип QML Drawer

Боковая панель, которая может открываться и закрываться с помощью жеста свайпа. Подробнее...

Оператор импорта: import QtQuick.Controls 2.5
С момента: Qt 5.7
Наследует:

Popup

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

Свойства

  • dragMargin : real
  • edge : перечисление
  • interactive : bool
  • position : real

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

Drawer предоставляет боковую панель, управляемую свайпом, аналогичную часто используемым в сенсорных интерфейсах для предоставления центрального места для навигации.

Drawer может быть расположен на любом из четырёх краёв элемента содержимого. Drawer выше расположен по левому краю окна. Drawer открывается путем "перетаскивания" его от левого края окна.

import QtQuick 2.12
import QtQuick.Controls 2.12

ApplicationWindow {
    id: window
    visible: true

    Drawer {
        id: drawer
        width: 0.66 * window.width
        height: window.height

        Label {
            text: "Content goes here!"
            anchors.centerIn: parent
        }
    }
}

Drawer — это специальный тип popup, который находится на одном из краёв окна. По умолчанию Drawer переродится в наложение окна overlay и, следовательно, работает с координатами окна. Также можно вручную установить parent на что-то другое, чтобы drawer работал в определённом пространстве координат.

Drawer можно настроить так, чтобы он покрывал только часть края окна. Следующий пример демонстрирует, как Drawer можно расположить, чтобы он появлялся под заголовком окна:

import QtQuick 2.12
import QtQuick.Controls 2.12

ApplicationWindow {
    id: window
    visible: true

    header: ToolBar { }

    Drawer {
        y: header.height
        width: window.width * 0.6
        height: window.height - header.height
    }
}

Свойство position определяет, сколько Drawer будет видно, как значение между 0.0 и 1.0. Невозможно задать координату x (или горизонтальные отступы) drawer на левом или правом краю окна, или координату y (или вертикальные отступы) drawer на верхнем или нижнем краю окна.

На изображении выше содержимое приложения "сдвигается" по экрану. Это достигается применением преобразования к содержимому:

import QtQuick 2.12
import QtQuick.Controls 2.12

ApplicationWindow {
    id: window
    width: 200
    height: 228
    visible: true

    Drawer {
        id: drawer
        width: 0.66 * window.width
        height: window.height
    }

    Label {
        id: content

        text: "Aa"
        font.pixelSize: 96
        anchors.fill: parent
        verticalAlignment: Label.AlignVCenter
        horizontalAlignment: Label.AlignHCenter

        transform: Translate {
            x: drawer.position * content.width * 0.33
        }
    }
}

Если вы хотите, чтобы содержимое приложения оставалось на своих местах при открытии Drawer, не применяйте преобразование.

Drawer можно настроить как не закрывающуюся постоянную боковую панель, сделав Drawer немодальным и неинтерактивным. Дополнительные сведения см. в примере Side Panel.

Примечание: на некоторых платформах некоторые края могут быть зарезервированы для системных жестов и, следовательно, не могут использоваться с Drawer. Например, верхние и нижние края могут быть зарезервированы для системных уведомлений и центров управления на Android и iOS.

См. также SwipeView, Настройка Drawer, Управление навигацией и Управление всплывающими окнами.

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

dragMargin : real

Это свойство содержит расстояние от края экрана, в пределах которого действия перетаскивания откроют drawer. Установка значения до 0 или меньше предотвращает открытие drawer при перетаскивании.

Значение по умолчанию — Qt.styleHints.startDragDistance.

См. также interactive.

edge : перечисление

Это свойство содержит край окна, с которого будет открываться drawer. Допустимые значения:

Константа Описание
Qt.TopEdge Верхний край окна.
Qt.LeftEdge Левый край окна (по умолчанию).
Qt.RightEdge Правый край окна.
Qt.BottomEdge Нижний край окна.

interactive : bool

Это свойство указывает, интерактивен ли drawer. Неинтерактивный drawer не реагирует на свайпы.

Значение по умолчанию — true.

Это свойство было добавлено в QtQuick.Controls 2.2 (Qt 5.9).

См. также dragMargin.

position : real

Это свойство содержит положение drawer относительно конечного пункта назначения. То есть, значение position будет 0.0 когда drawer полностью закрыт, и 1.0 когда полностью открыт.

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

Spec-Zone.ru

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