QT5之2D绘图-绘制路径
来源:互联网 发布:上海1943和老街知乎 编辑:程序博客网 时间:2024/05/22 02:27
在绘制一个复杂的图形的时候,如果你需要重复绘制一个这样的图形,就可以使用到QPainterPath类,然后使用QPainter::drawPath()来进行绘制。
QPainterPath类为绘制操作提供了一个容器,可以用来创建图形并且重复使用。一个绘图路径就是由多个矩形、椭圆、线条或者曲线等组成的对象,一个路径可以是封闭的,例如矩形和椭圆;也可以是非封闭的,例如线条和曲线。
一、简单应用
void Widget::paintEvent(QPaintEvent *){ QPainterPath path; path.addEllipse(100, 100, 50, 50); path.lineTo(200, 200); QPainter painter(this); painter.setPen(Qt::blue); painter.setBrush(Qt::red); painter.drawPath(path);}
当你创建了一个QPainterPath对象后,可以使用lineTo()、arcTo()、cubicTo()和quadTo()等函数将直线或者曲线添加到路径中
二、复制图形
QPainterPath path2;path2.addPath(path);path2.translate(100,0);painter.drawPath(path2);
三、绘制图形时的当前位置
1、创建路径后,默认是从(0, 0)点开始绘制的
2、可以使用moveTo()函数来改变当前点的位置
void Widget::paintEvent(QPaintEvent *){ QPainterPath path; path.addRect(50, 50, 40, 40); //移动到(100, 100)点 path.moveTo(100, 100); path.lineTo(200, 200); QPainter painter(this); painter.drawPath(path);}
阅读全文
0 0
- QT5之2D绘图-绘制路径
- Quartz-2D绘图之路径(Paths)详解
- android实现按钮拖动效果及路径的绘制等2D绘图功能---待完善
- [Qt教程] 第14篇 2D绘图(四)绘制路径
- iOS 2D绘图详解(Quartz 2D)之路径(stroke,fill,clip,subpath,blend)
- Android绘图之2D绘图基础
- Silverlight开发历程—(绘制矢量图之路径绘图)
- Silverlight开发历程—(绘制矢量图之路径绘图) .
- Quartz2D绘图之利用路径绘制复杂图形
- Qt之2D绘图
- Qt之2D绘图
- 十一、Qt 2D绘图(一)绘制简单图形
- Qt 2D绘图(一)绘制简单图形
- 2D绘图:Winform绘制柱统计形图
- android UI——2D绘图绘制几何图形
- iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)
- iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)
- 【IOS 开发学习总结-OC-65】Quartz 2D绘图(4-2)——绘制文本+设置阴影+使用路径
- nc常用用法
- 2017秦皇岛
- NOIP模拟 纸带 【线段树】【并查集】
- android MVVM开发框架——(1)DataBinding 基础应用
- 算法模板——数位dp
- QT5之2D绘图-绘制路径
- matlab之自定义方程系数解方程
- Evaluate Reverse Polish Notation--LeetCode
- jdbc的事务管理,连接池的概念
- HDU
- 三周第二次课 2017.10.31 usermod命令、用户密码管理、mkpasswd命令
- Android事件分发机制源码阅读
- Yoshua Bengio——《Deep Learning》学习笔记1
- 模拟计算器