C

AnchorChanges QML 类型

指定如何更改状态中项的锚点。 更多...

导入语句import QtQuick
Qt Quick Ultralite 1.0

属性

详细描述

AnchorChanges 类型用于修改状态中项的锚点。

AnchorChanges 不能用来修改项的边距。为此,请使用 PropertyChanges

以下示例中,我们使用 AnchorChanges 更改项的上和下锚点,并使用 PropertyChanges 更改上和下锚点边距。

import QtQuick 2.15

Rectangle {
    id: window
    width: 120; height: 120
    color: "black"

    Rectangle { id: anchorRectStart; x: 60; y: 60; height: 60; width: 60; color: "yellow"}
    Rectangle { id: anchorRectEnd; x: 0; y: 0; height: 60; width: 60; color: "blue"}

    Rectangle {
        id: myRect; color: "red"
        anchors {
            top: anchorRectStart.top
            bottom: anchorRectStart.bottom
            left: anchorRectStart.left
            right: anchorRectStart.right
            topMargin: 10
            bottomMargin: 10
            leftMargin: 10
            rightMargin: 10
        }
    }

    states: State {
        name: "reanchored"
        AnchorChanges {
            target: myRect
            anchors {
                top: anchorRectEnd.top
                bottom: anchorRectEnd.bottom
                left: anchorRectEnd.left
                right: anchorRectEnd.right
            }
        }
        PropertyChanges {
            target: myRect
            anchors {
                topMargin: 20
                bottomMargin: 20
                leftMargin: 20
                rightMargin: 20
            }
        }
    }

    MouseArea { anchors.fill: parent; onClicked: window.state = "reanchored" }
}

锚点边距的更改可以使用 NumberAnimation 动画。

有关锚点的更多信息,请参阅 锚点布局

属性文档

锚点组

anchors.baseline : AnchorLine

anchors.bottom : AnchorLine

anchors.horizontalCenter : AnchorLine

anchors.left : AnchorLine

anchors.right : AnchorLine

anchors.top : AnchorLine

anchors.verticalCenter : AnchorLine

这些属性更改项的相应锚点。


target : Item

此属性包含受锚点更改影响的 Item


在特定的Qt许可证下可用。
了解更多。