Qt编程21:使用QPainter绘图三

QPainter下的drawPath()方法:

原型:

void drawPath(constQPainterPath&path);

重点说一下:QPainterPath

用途:

它是由一些图形如曲线、矩形、椭圆组成的对象。

主要的用途是,能保存已经绘制好的图形。实现图形元素的构造和复用;图形状只需创建一次,然后调用QPainter::drawPath() 函数多次绘制。

painterpath 可以加入闭合或不闭合的图形( 如:矩形、椭圆和曲线) 。QPainterPath 可用于填充,描边,clipping 。
 
使用方法:

 QPainterPath 一旦创建,直线和曲线都可以被添加入path ,通过lineTo(),arcTo(),cubicTo() 和 quadTo() 函数。currentPosition() 是最后一次绘制后的“结束点”(或初始点)。使用moveTo() 移动currentPosition() 而不会添加任何元素。moveTo() 隐含的开始一个新subpath ,并且闭合前一个。 一个path 添加到另一个path 用connectPath() 。它默认是从原点(0 ,0 )开始绘图,可以使用moveTo ()改变绘图的开始位置。

 

    QPainterPath path;
    //移动到
    path.moveTo(10,10);

    path.cubicTo(210,10,110,110,210,210);
    path.cubicTo(10,210,110,110,10,10);
    //添加椭圆
    path.addEllipse(QPoint(110,110),100,50);
    //添加矩形
    path.addRect(65,65,90,90);
    //设置填充规则
    path.setFillRule(Qt::OddEvenFill);

    //构建绘制工具
    QPainter painter(this);
    //设置画笔
    painter.setPen(QPen(Qt::red,2,Qt::SolidLine,Qt::FlatCap));
    //设置填充
    painter.setBrush(QBrush(Qt::green));
    //添加矩形
    painter.fillRect(10,10,200,200,Qt::white);
    //绘制path
    painter.drawPath(path);

Qt编程21:使用QPainter绘图三_第1张图片


 


 

 

 

 

 

 

 

你可能感兴趣的:(Qt基本应用)