QML中的canvas,俗称画布,它用来定义一个绘图区域,你可以使用ECMAScript代码来绘制直线、矩形、贝塞尔曲线、弧线、图片文字等图元,还可以为图元应用填充颜色和边框颜色,甚至还可以进行低阶像素级操作。
var ctx=getContext(“2d”);
笔有颜色,是为strokeStyle属性;笔有粗细,是为lineWidth属性。
在Context2D,fillStyle属性就是描述画刷的。
基本图元有线、弧、矩形、曲线、文本、图片等。
Canvas是Item的派生类,通过设置width和height属性,就可以设定一个绘图区域,然后在onPaint()信号处理器内使用Context2D对象来绘图。
如果想改变多个属性,可以使用PropertyAnimation的properties属性来指定,属性名以英文逗号分隔,而这些属性共用to指定的目标值。所以目标属性最好是同一个类型property 。
PropertyAnimation{ id:animation; target:rect; properties:”width,height”; to:220; }
PropertyAnimation{ id:animation; targets:[rectA,rectB]; properties: “width”; to :150; duration:1000; }
是PropertyAnimation的派生类,专门处理数字类型的property,它重写了from和to2个属性,将其类型设置为real。