28.QT-QPainter介绍

介绍

  • 可以在QPaintDevice类上绘制各种图形
  • QPaintDevice类表示QPainter的绘图设备(画布)
  • QpaintDevice子类有QImage、QOpenGLPaintDevice、QWidget 等
  • 所以, QPainter可以在QImageQOpenGLPaintDeviceQWidget上进行绘制图形
  • QPainter只能在类对象的paintEvent()函数中绘制图形

  

QPainter类的成员角色有:

  • QPen         : 用于绘制几何图形的边缘,由颜色,宽度,线风格等参数组成
  • QBrush     : 用于填充几何图形的调色板,由颜色和填充风格组成
  • QFont       : 用于文本绘制
  • QPixmap  : 绘制图片,可以加速显示,带有屏幕截图,窗口截图等支持,适合小图片
  • QImage    : 绘制图片,可以直接读取图像文件进行像素访问,适合大图片
  • QBitmap  : QPixmap的一个子类,主要用于显示单色位图
  • QPicture  : 绘图装置,用于记录和重播Qpainter的绘图指令 

具体参考: https://blog.csdn.net/cloud_castle/article/details/26256663

 

 

<span "="" src="https://images2018.cnblogs.com/blog/1182576/201806/1182576-20180620150340596-228859582.png">

 

 

<span "="" src="https://images2018.cnblogs.com/blog/1182576/201806/1182576-20180620150355271-225418892.png">

 

 

<span "="" src="https://images2018.cnblogs.com/blog/1182576/201806/1182576-20180620150411879-1303897264.png">

 

 

<span "="" src="https://images2018.cnblogs.com/blog/1182576/201806/1182576-20180620150418643-420211971.png">

 

        

<span "="" src="https://images2018.cnblogs.com/blog/1182576/201806/1182576-20180620150425562-1236341978.png">

 

 

QPainter-视口/窗口

在Qt中, QPainter可以通过视口和窗口来设置自身组件大小位置.

 

视口:  基于QPaintDevice类组件的坐标实现的,属于物理坐标,通过setViewport成员函数设置

窗口:  基于自身的逻辑坐标实现的,并不是真实坐标,可以通过setWindow成员函数设置

 

需要注意的是:

  • Qpainter的坐标是使用的窗口坐标(逻辑坐标)
  • 当QPainter初始化时,视口和窗口坐标默认是相同的,也就是说原点(0,0)在于窗口左上角
  • 所以视口和窗口的最小坐标和最大坐标是从左上到右下的.

 

<span "="" src="https://images2018.cnblogs.com/blog/1182576/201806/1182576-20180620150451333-1179916775.png">

由于数学Y坐标方向与屏幕Y坐标方向是相反的,所以w保持不变,h=-height

所以对应代码为:

效果如下:

 

 

 

<span "="" src="https://images2018.cnblogs.com/blog/1182576/201806/1182576-20180620150521423-38524211.png">

 

Qpainter通过drawText来绘制文本

绘制文本时,是以左下角为原点开始的.
可以通过QfontMetrics获取字符串在指定字体下的宽度和高度.
示例:

效果:

 

未完,下章学习: 30.QT-渐变之QLinearGradient、 QConicalGradient、QRadialGradient

 


文章来源:https://www.cnblogs.com/lifexy/p/9203929.html

posted @ 2018-09-20 12:19  康永年  阅读(173)  评论(0)    收藏  举报
友情链接:回力 | 中老年女装 | 英语口语培训 | 托福培训 | 雅思周末班