当前位置: 首页 > 工具软件 > Droparea > 使用案例 >

DropArea

胡俊弼
2023-12-01

import QtQuick 2.0
 
Item {
    property string soureName
 
    Loader {
        id: dropAreaLoader
        y: dropIcon.y - 730
        asynchronous: true
        visible: y != -base.height && status == Loader.Ready
    }
 
    Connections {
        target: dropAreaLoader.item
        onExitSetting: {
            dropIcon.y = 10
        }
    }
 
    Rectangle {
        id: dropIcon
        x: 580
        y: 10
        width: 40
        height: 10
        color: "red"
 
        Drag.active: dragArea.drag.active
 
        PropertyAnimation {
            id: upAnimation;
            target: dropIcon;
            properties: "y";
            to: 10;
            duration: 150;
            easing.type: Easing.Linear
        }
 
        PropertyAnimation {
            id: downAnimation;
            target: dropIcon;
            properties: "y";
            to: 730;
            duration: 500;
            easing.type: Easing.Linear
        }
 
        MouseArea {
            id: dragArea
            anchors.fill: parent
 
            drag.target: parent
            drag.axis: Drag.YAxis
            drag.minimumY:10
            drag.maximumY:730
 
            onReleased: {
                if(dropIcon.y < 80) {
                    upAnimation.start()
                } else {
                    downAnimation.start()
                }
            }
 
            drag.onActiveChanged: {
                if(drag.active && dropAreaLoader.status == Loader.Null) {
                    dropAreaLoader.source = soureName
                }
            }
        }
    }
}
 类似资料:

相关阅读

相关文章

相关问答