Spec-Zone.ru › Qt 5.13

Тип DragHandler QML

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

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

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.position.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 истинно, то горизонтальное перетаскивание разрешено.

yAxis.minimum : real

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

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

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

Spec-Zone.ru

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