Qml:锚点

import QtQuick
import QtQuick.Window

Window {
    width: 800
    height: 600
    visible: true
    title: qsTr("Test Anchors")

    ///锚点 上下左右
    Rectangle
    {
        id: anchor1
        width:200
        height: 150
        color:"#EEEEEE"
        Rectangle
        {
            id:rect1
            width:50
            height:50
            color: "red"
            Text{text:"rect1"}
        }
        Rectangle
        {
            id:rect2
            width:50
            height:50
            color: "blue"
            Text{text:"rect2"}
            anchors.left: rect1.right
        }

        Rectangle
        {
            id:rect3
            width:50
            height:50
            color: "green"
            Text{text:"rect3"}
            anchors.top: rect1.bottom
        }
        Rectangle
        {
            id:rect4
            width:50
            height:50
            color: "pink"
            Text{text:"rect4"}
            anchors.left: rect3.right
            anchors.top: rect2.bottom
        }
    }

    ///锚点 动态大小
    Rectangle
    {
        id: anchor2
        anchors.left:anchor1.right
        anchors.leftMargin: 5 //左侧间距
        width:200
        height: 150
        color:"#EEEEEE"
        Rectangle
        {
            id:leftpage
            width: 50
            color:"blue"
            anchors.top: parent.top         //自动拉升高度
            anchors.bottom: parent.bottom
            Text{text:"left"}
        }

        Rectangle
        {
            id:mainpage
            color:"pink"
            anchors.top: parent.top         //自动拉升高度
            anchors.bottom: parent.bottom
            anchors.left:leftpage.right     //自动拉升宽度
            anchors.right: rightpage.left
            Text{text:"main"}
        }

        Rectangle
        {
            id:rightpage
            width: 50
            color:"green"
            anchors.top: parent.top         //自动拉升高度
            anchors.bottom: parent.bottom
            anchors.right: parent.right
            Text{text:"right"}
        }

        MouseArea
        {
            anchors.fill: parent
            onClicked:
            {
                parent.width +=10
                parent.height +=10
            }
        }
    }

    Rectangle
    {
        id:anchor3
        //通过anchor2、和窗口 锚定宽高和位置
        anchors.left: anchor2.right
        anchors.right: parent.right
        anchors.top: anchor2.top
        anchors.bottom: anchor2.bottom
        anchors.leftMargin: 5
        color:"#EEEEEE"
        //水平居中
        Rectangle
        {
            id:hcenter
            color:"red"
            width:50
            //拉升高度
            anchors.top: parent.top
            anchors.bottom: parent.bottom
            //水平居中
            anchors.horizontalCenter: parent.horizontalCenter
        }
        Rectangle
        {
            width:50
            height: 50
            color:"blue"
            //垂直居中
            anchors.verticalCenter:hcenter.verticalCenter
            anchors.left: hcenter.right
        }
        //完全居中
        Rectangle
        {
            width:50
            height: 50
            color:"yellow"
            anchors.centerIn: parent
        }



    }

}


推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值