Перетащите центр предмета - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть Item, который немного большой. Я хочу изменить размер при перетаскивании и убедиться, что center всегда перетаскивается. Ниже приведена пробная версия (для простоты я не устанавливаю центр Item в положение мыши, а также не меняю размер.), Однако положение x будет сброшено сразу после того, как я Измени это. Есть ли способ избежать этого.

import QtQuick 2.7
import QtQuick.Window 2.2

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello Quick")

    Rectangle{
        id: item_
        width: 300
        height: 300
        color: "red"

        MouseArea{
            id: drag_
            anchors.fill: parent

            drag.target: item_
        }

        states: State{
            when: drag_.drag.active
            PropertyChanges {
                target: item_

                x: 100
                y: 100
            }
        }

        onXChanged: console.log("item_.x: ", x)
    }
}

Выход:

qml: item_.x:  100
qml: item_.x:  0
qml: item_.x:  1
qml: item_.x:  2
qml: item_.x:  3
qml: item_.x:  4
qml: item_.x:  5
qml: item_.x:  6
qml: item_.x:  7
qml: item_.x:  8
qml: item_.x:  10
...