QT中QPainterPath类的功能和使用方法
2011-02-22 18:21
387 查看
用途:
它是由一些图形如曲线、矩形、椭圆组成的对象。主要的用途是,能保存已经绘制好的图形。实现图形元素的构造和复用;图形状只需创建一次,然后调用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);
}
它是由一些图形如曲线、矩形、椭圆组成的对象。主要的用途是,能保存已经绘制好的图形。实现图形元素的构造和复用;图形状只需创建一次,然后调用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);
}
相关文章推荐
- QT中QPainterPath类的功能和使用方法
- QT中QPainterPath类的功能和使用方法
- QT中QPainterPath类的功能和使用方法
- QT中QPainterPath类的功能和使用方法
- Qt5 中的QPainterPath类的功能和使用方法
- QT中QPainterPath类的功能和使用方法
- Vue中使用Froala Editor时,外部方法调用html.insert()插入内容到光标最后停留位置功能实现
- Qt程序打包发布方法(使用官方提供的windeployqt工具)
- WordPress初级教程-21: Wordpress的Gravatar头像功能使用方法
- Win8系统一键恢复功能使用方法实例讲解
- 在Win7下不能使用Vs2005调试功能的解决方法
- 经典vim插件功能说明、安装方法和使用方法介绍(已更新)
- SD模块中POD功能使用方法
- QTcpSocket QTcpServer 类的使用方法
- SpringMVC(27):json数据的传递处理的示例(实现功能:使用jQuery框架的ajax()方法实现用户信息查看)
- Qt:QTabWidget关闭页签功能的使用
- Qt使用多线程的一些心得——2.继承QObject的多线程使用方法
- Qt绘图的相关使用方法(持续更新)
- GridView自身的分页功能的使用方法
- android两种使用照相功能获取图片的方法