博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QT中QPainterPath类的功能和使用方法
阅读量:4972 次
发布时间:2019-06-12

本文共 941 字,大约阅读时间需要 3 分钟。

http://blog.csdn.net/sanfengshou/article/details/6200705

用途: 它是由一些图形如曲线、矩形、椭圆组成的对象。主要的用途是,能保存已经绘制好的图形。实现图形元素的构造和复用;图形状只需创建一次,然后调用QPainter::drawPath() 函数多次绘制。painterpath 可以加入闭合或不闭合的图形( 如:矩形、椭圆和曲线) 。QPainterPath 可用于填充,描边,clipping 。

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

例子:

void Dialog::paintEvent(QPaintEvent *)

{
    QPainterPath path;

path.lineTo(100,200);   

    path.addEllipse(100,200,50,50);     // 向path 中添加图形

    QPainter painter(this);

painter.setPen(Qt:: yellow);
painter.setBrush(Qt::red);

    painter.drawPath(path);   // 绘制前面创建的path

    QPainterPath path2;

path2.addPath(path);   // 将前面的path 添加到新创建的path 中
path2.translate(200,100);

    painter.drawPath(path2);

}

转载于:https://www.cnblogs.com/vanstudyhard/articles/3758333.html

你可能感兴趣的文章
mysql 日期比较
查看>>
JetBrains
查看>>
Realtek无线网卡对于Ubuntu的WiFi不支持的处理办法
查看>>
求最大公约数——欧几里得算法
查看>>
项目经理的看家本领
查看>>
蓝牙在小程序中的应用
查看>>
【剑指Offer】【面试题03:二维数组中的查找】
查看>>
VC++/MFC(VC6)开发技术精品学习资料下载汇总
查看>>
PHP判断客户端是PCweb端还是移动手机端方法
查看>>
Sql2005性能工具(SQL Server Profiler和数据库引擎优化顾问)使用方法详解
查看>>
REVIT使用中遇到的各种问题汇总
查看>>
关于nginx的server_name
查看>>
【慢慢学Android】:1.Activity之间的转换以及数据的传递(Intent)
查看>>
python 使用自定义函数
查看>>
jenkins构建触发器详解-不登录触发远程构建详解
查看>>
SoSoft项目之C# WinForm托盘图标实例
查看>>
C#继承
查看>>
2013年总结(0)-序
查看>>
谈谈我对学习技术的一点体会和看法
查看>>
在jquery中处理带有命名空间的XML数据
查看>>