盒子模型也是QML的特点之一。这里最值得一提的还是Rectangle这个item,因为他的用处很广泛。他可以用来对某个区域进行操作和绘制。比如你要在特定的地方指定接收鼠标单击事件,或者某个地方显示特定的颜色。
简单看一看Rectangle的一些属性。
import QtQuick 2.3
import QtQuick.Window 2.2
Window {
visible: true
Rectangle{
x:10//这里的坐标是相对于它的父窗口,也就是Window
y:10
width: 100;
height: 100;//一定要指定出大小才能显示
visible: true
antialiasing: true;//抗锯齿,默认就是开启的
border.width: 10;
border.color: "red";//边框的一些属性
color: "blue"//内部的颜色
gradient: Gradient{//颜色渐变
GradientStop { position: 0.0; color: "lightsteelblue" }
GradientStop { position: 1.0; color: "blue" }
}
radius: 10;//圆角
clip:true//这一属性设置表示如果他的子类超出了范围,那么就剪切掉,不让他显示和起作用
Rectangle{
id:son
x:50;
y:50;
width: 300;
height: 100;
color: "gray";
}
}
}
针对clip属性做特殊说明:
Clip属性设置为clip:true的效果:
子类是不是被切割了呢。
再看一下设置为clip:false的情况:
这样,超出的部分也会被显示出来。
而更加不幸的是默认居然是false,所以千万要注意。
当然,这里有一个问题,就是我要怎么绘制一个不规则的区域呢?比如六边形的区域?留下悬念吧……