Qml anchors锚点布局

关于qml的锚点布局的一些分享,并不能算是教学之类的。

锚点布局会自动设置宽度高度,并且优先级比 width height更高

import QtQuick 2.13
import QtQuick.Window 2.12
import QtQml 2.13

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("anchor layout")

    Rectangle {
        anchors.fill: parent
        width: 100
        height: 100
        color: 'red'
    }

}

01

锚点布局设置外边距时,必须要先设置对应的锚点,比如你设置leftMarigin间距时,必须先设置anchros.left

import QtQuick 2.13
import QtQuick.Window 2.12
import QtQml 2.13

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("anchor layout")

    Rectangle {
        anchors.left: parent.left
        anchors.leftMargin: 50
        width: 100
        height: 100
        color: 'red'
    }

}

02

当你设置了锚点的left、right左右两边时,择会拥有宽度,并且width将无效化

import QtQuick 2.13
import QtQuick.Window 2.12
import QtQml 2.13

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("anchor layout")

    Rectangle {
        anchors.left: parent.left
        anchors.leftMargin: 50
        anchors.right: parent.right
        anchors.rightMargin: 50
        width: 100
        height: 100
        color: 'red'
    }

}

在这里插入图片描述
锚点top、 botton 与lef、right同理,只不过一个是左右宽度,一个是山下高度这里就不放代码演示了

锚点对于父节点居中

import QtQuick 2.13
import QtQuick.Window 2.12
import QtQml 2.13

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("anchor layout")

    Rectangle {
        anchors.centerIn: parent
        width: 100
        height: 100
        color: 'red'
    }

}

04
锚点于父节点垂直居中 ps: 窗口是没有vericalCent属性的

import QtQuick 2.13
import QtQuick.Window 2.12
import QtQml 2.13

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("anchor layout")

    Item {
        anchors.fill: parent

        Rectangle {
            anchors.verticalCenter: parent.verticalCenter
            width: 100
            height: 100
            color: 'red'
        }
    }
}

05

锚点于父节点水平居中 ps: 窗口是没有vericalCent属性的

import QtQuick 2.13
import QtQuick.Window 2.12
import QtQml 2.13

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("anchor layout")

    Item {
        anchors.fill: parent

        Rectangle {
            anchors.horizontalCenter: parent.horizontalCenter
            width: 100
            height: 100
            color: 'red'
        }
    }

}

06

同时设置垂直和水平居中,就能达到父节点居中的效果这里就不上代码演示了,基本锚点常用和注意的地方就这么多。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值