赞
踩
锚点布局与之前通过指定 (x,y) 以及 (weight, height)来指定元素的位置与大小不同,锚点布局通过指示元素的关键位置与其他元素的关键位置的相对位置关系来确定。
基本的关键位置有以下6个:
下面是使用锚点布局的一个案例:
Rectangle {
id: background
width: 300; height: 100
color: "lightblue"
Rectangle {
color: "green"
y: 25
height: 50; width: 50
anchors.right: background.right
anchors.verticalCenter: background.verticalCenter
}
}
使用anchors
来指示具体的锚(就是指定的两个锚对齐),上面的代码效果如下:
TIps1: 锚点的属性定义换做下面的写法也是OK的:
Rectangle {
color: "green"
y: 25
height: 50; width: 50
anchors{
right: background.right
verticalCenter: background.verticalCenter
}
}
TIps2: 锚点布局与(x,y) 以及 (weight, height)的描述可以互作补充,在两者的描述冲突时以锚点布局的定义为准,如下面的案例,即便定义了x
,但是还是按照anchors.right: background.right
的描述来进行布局:
Rectangle {
id: background
width: 300; height: 100
color: "lightblue"
Rectangle {
color: "green"
x: 10
height: 50; width: 50
anchors.right: background.right
anchors.verticalCenter: background.verticalCenter
}
}
这样写的效果还是:
提示: anchors.right: background.right
不要写成anchors.right: background.anchors.right
了。
可以使用下面的命令来指示居中关系:
anchors.fill: background
执行后大的效果如下:
使用以下指令来指示填充关系:
anchors.centerIn: background
Tips:这两个指令的优先级要比指示上面的6个锚点的描述优先级要高一些,遇到两种描述的冲突以这里的两个指令的描述为准。
margins
指示锚点对齐后,可以使用margin
设置边界值,一次性设置4个方向的边界值可以使用anchors.margins
:
下图是对应下面组合的效果:
anchors.margins: 10
anchors.centerIn: background
也可以单独指示四个方向的边界值:
anchors.bottomMargin: 10
anchors.rightMargin: 10
anchors.topMargin: 10
anchors.leftMargin: 10
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。