实现graphical shapes 的构造和复用;复杂形状只需创建一次,然后调用QPainter::drawPath() 函数多次绘制。
painter path是由一些图形元素如矩形、椭圆、直线、曲线组成的对象。
painter path可以加入闭合或不闭合的subpaths(矩形和椭圆,直线和曲线)
QPainterPath 可用于填充,描边,clipping。创建一个可以对painter path 描边的QPainterPath,用QPainterPathStroker 类。
Composing a QPainterPath
QPainterPath 一旦创建,直线和曲线都可以被添加入path,通过函数lineTo(), arcTo(), cubicTo() and quadTo() 函数。
currentPosition() 是最后一次绘制后的“结束点”(或初始点)。使用moveTo() 移动currentPosition() 而不会添加任何元素。
moveTo() 隐含的开始一个新subpath,并且闭合前一个。 开始一个新subpath 的另一个方法是调用closeSubpath(),此函数关闭当前路径,通过从currentPosition() 向start position 添加一条直线。
一个path 添加到另一个path 用connectPath()