Spec-Zone.ru › Qt 5.12

Тип QML DragHandler

Обработчик перетаскивания. Подробнее...

Заявление об импорте: import QtQuick 2.12
Наследует:

MultiPointHandler

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

Свойства

  • translation : QVector2D
  • xAxis
    • xAxis.minimum : real
    • xAxis.maximum : real
    • xAxis.enabled : bool
  • yAxis
    • yAxis.minimum : real
    • yAxis.maximum : real
    • yAxis.enabled : bool

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

DragHandler — это обработчик, используемый для интерактивного перемещения элемента. Как и другие обработчики ввода, по умолчанию он полностью функционален и управляет своим target.

import QtQuick 2.12

Rectangle {
    width: 100
    height: 100
    color: "lightsteelblue"
    DragHandler { }
}

Он имеет свойства для ограничения диапазона перетаскивания.

Если он объявлен внутри одного элемента, но присвоен другому target, то он обрабатывает события в пределах границ элемента parent, но управляет элементом target вместо него:

import QtQuick 2.12

Item {
    width: 640
    height: 480

    Rectangle {
        id: feedback
        border.color: "red"
        width: Math.max(10, handler.centroid.ellipseDiameters.width)
        height: Math.max(10, handler.centroid.ellipseDiameters.height)
        radius: Math.max(width, height) / 2
        visible: handler.active
    }

    DragHandler {
        id: handler
        target: feedback
    }
}

Третий способ использования — установить target в null и каким-либо другим способом реагировать на изменения свойств:

import QtQuick 2.12

Item {
    width: 640
    height: 480

    DragHandler {
        id: handler
        target: null
    }

    Text {
        color: handler.active ? "darkgreen" : "black"
        text: handler.centroid.centroid.x.toFixed(1) + "," + handler.centroid.position.y.toFixed(1)
        x: handler.centroid.position.x - width / 2
        y: handler.centroid.position.y - height
    }
}

Если minimumPointCount и maximumPointCount установлены на значения больше 1, пользователю потребуется перетащить столько пальцев в одном направлении, чтобы начать перетаскивание. Жест перетаскивания с несколькими пальцами может быть обнаружен независимо как от (по умолчанию) жеста перетаскивания одним пальцем DragHandler, так и от PinchHandler на том же элементе, и таким образом может быть использован для настройки какой-либо другой функции независимо от обычного поведения pinch: например, для настройки преобразования наклона или настройки какого-либо другого числового значения, если target установлено в null. Но если target — это элемент, centroid — это точка, в которой начинается перетаскивание, и в которую будет перемещён target (с учётом ограничений).

В настоящее время поддержка перетаскивания и перемещения не реализована.

См. такжеDrag и MouseArea.

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

[только для чтения] translation : QVector2D

Смещение с начала жеста.

xAxis.minimum : real

xAxis контролирует ограничения для перетаскивания по горизонтали.

minimum — это минимальное допустимое значение x, которое будет применено к target. maximum — это максимальное допустимое значение x, которое будет применено к target. Если enabled равно true, перетаскивание по горизонтали разрешено.

yAxis.minimum : real

yAxis контролирует ограничения для перетаскивания по вертикали.

minimum — это минимальное допустимое значение y, которое будет применено к target. maximum — это максимальное допустимое значение y, которое будет применено к target. Если enabled равно true, перетаскивание по вертикали разрешено.

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

Spec-Zone.ru

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