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);


 


 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值