当前位置:   article > 正文

Qt 5.9.5 2D图形汇总_qt绘图 多个图层- 简书

qt绘图 多个图层- 简书

前言

1、为什么需要2D绘图

Qt界面编程中,通常会遇到使用Qt自带控件解决不了的问题,这时2D绘图给我们提供了专用的定制化的工具。

2、QPainter介绍

2D绘图离不开QPaintet,可以把QPainter想成一个画笔,开发人员拿着画笔理论上可以绘制任何你想要的图形。QPainter一般在一个部件(Widget)重绘事件(PaintEvent)的处理函数PaintEvent()中进行绘制,首先要创建QPainter对象(画笔),然后进行图形的绘制。

3、QPainter中常用的图形绘制函数

(1)drawArc(); //绘制弧形
(2)drawChord(); //绘制弦
(3)drawConvexPolygon(); //绘制凸多边形
(4)drawEllipse(); //绘制椭圆(PS:椭圆是先整个框,然后逼近)
(5)drawImage(); //绘制图像
(6)drawLine(); //绘制线
(7)drawLines(); //绘制多条线
(8)drawPath(); //绘制路径(PS:想咋画咋画,但是必须是直的)
(9)drawPicture(); // 按照QPainter指令绘画(PS:将加载的二进制文件绘制)
(10)drawPie(); //绘制扇形
(11)drawPixmap(); // 绘制图像
(12)drawPoint(); //绘制点
(13)drawPoints(); //绘制多个点
(14)drawPolygon(); //绘制多边形
(15)drawPolyline(); //绘制多条折线
(16)drawRect(); //绘制矩形
(17)drawRects() ; //绘制多个矩形
(18)drawRoundRcet(); //绘制圆角矩形
(19)drawText(); //绘制文字
(20)drawTilcdPixmap(); //绘制平铺图像
(21)drawLineSegments(); //绘制折线

画笔(QPen)和刷子(QBrush)

画笔QPen:

QPen类定义了QPainter如何绘制线条和形状的轮廓。
1、画笔具有:样式style()、宽度width()、画刷brush()、笔帽样式capStyle()和连接样式joinStyle()等属性。
2、画笔的样式style()定义了线的样式。
3、画刷brush()用于填充画笔所绘制的线条。
4、笔帽样式capStyle()定义了使用QPainter绘制的线的末端;连接样式joinStyle()则定义了两条线如何连接起来。
5、画笔宽度width()或widthF()定义了画笔的宽。(PS:不存在宽度为0的线。)假设你设置width为0, QPainter依然会绘制出一条线,而这个线的宽度为1像素。也就是说画笔宽度通常至少是1像素。

刷子(QBrush)

QBrush类定义了由QPainter绘制的形状的填充模式。
1、一个画刷具有样式(style)、颜色(color)、渐变(gradient)、文理(texture )四个可设置属性。
2、可能用到Brush的样式、颜色、填充方式(后两者是重点)
3、const QColor &QBrush::color() const 获取当前Brush颜色
4、void QBrush::setColor(const QColor &color) 设置当前Brush颜色

ConstantValueDescription
Qt::white3White(#ffffff)
Qt::black2Black (#000000)
Qt:: red7Red (#ff0000)
Qt:: darkRed13Dark red (#800000)
Qt: :green8Green (#00ff00)
Qt:: darkGreen14Dark green (#008000)
Qt::blue9Blue (#0000ff)
Qt:: darkBlue15Dark blue (#000080)

渐变(gradient )定义了渐变填充。当创建Qbrush时,可以在构造函数中传入一个渐变画笔对象用于构建画刷的渐变样式

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/297459
推荐阅读
相关标签
  

闽ICP备14008679号