当前位置:网站首页 > R语言数据分析 > 正文

qpainter绘制矩形(qpainter drawline)



Qt的绘图系统允许使用相同的API在屏幕和打印设备上进行绘制。整个绘图系统基于QPainter,QPainterDevice和QPaintEngine三个类。

QPainter用来执行绘制的操作;QPaintDevice是一个二维空间的抽象,这个二维空间可以由QPainter在上面进行绘制;QPaintEngine提供了画笔painter在不同的设备上进行绘制的统一的接口。

它可以绘制一切想要的图形,从最简单的一条直线到其他任何复杂的图形,例如:点、线、矩形、弧形、饼状图、多边形、贝塞尔弧线等。

此外,QPainter 也支持一些高级特性,例如反走样(针对文字和图形边缘)、像素混合、渐变填充和矢量路径等,QPainter 也支持线性变换,例如平移、旋转、缩放。

首先简单介绍一下坐标系统:QT中的窗口都有的默认的坐标原点(0,0),位于屏幕的左上角,X轴正方向是水平向右,Y轴正方向是竖直向下,相反为负。

x:窗口左上角x坐标
y:窗口左上角y坐标
width:窗口长度
height:窗口高度

一个绘图工具的使用步骤常为:(1)构造一个绘图工具(2)设置字体、画笔、画刷等等参数(3)绘图(4)销毁绘图工具

绘制的内容会以背景的形式出现在窗口中,线和轮廓都可以用画笔QPen进行绘制,画刷QBrush进行填充,字体可以使用QFont类定义。

大量的资料在QT提供的官方文档里有介绍,也可以直接看看。

我们先来看几个常见的图像,我用的是QT5.9.0,首先在头文件中加入

 

以及声明函数

 

1.绘制直线

 

2.绘制矩形

 

3.绘制椭圆

 

4.绘制扇形

 

坐标系变换是利用变换矩阵来进行的,我们可以利用QTransform类来设置变换矩阵,QPainter类提供了对坐标系的平移,缩放,旋转,扭曲等变换函数。

如利用translate()函数进行平移变换。其实就是改变坐标的中心。

 

利用scale()函数进行比例变换,实现放大缩小。(和css很像)

 

利用rotate()函数进行翻转变换。 注意和上图的区别

 

利用shear()函数就行扭曲变换。

 

坐标系的保存与恢复

绘图过程中可以先利用save()函数来保存坐标系现在的状态,然后进行变换操作,操作完之后,再用restore()函数将以前的坐标系状态恢复。

 

到此这篇qpainter绘制矩形(qpainter drawline)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • resnet50网络结构(resnet50网络结构原理)2025-05-12 21:36:04
  • esp8266天气时钟代码下载(arduino esp8266天气)2025-05-12 21:36:04
  • ewma模型和garch的区别(garchm模型怎么做eviews)2025-05-12 21:36:04
  • swagger2注解使用(swagger注解说明)2025-05-12 21:36:04
  • list 转string 逗号隔开(list转string逗号隔开)2025-05-12 21:36:04
  • gridlayout布局特点(gridlayout布局怎么用)2025-05-12 21:36:04
  • 最新越狱源(最新越狱源carplay)2025-05-12 21:36:04
  • Ubuntu源码安装安装MPlayer(ubantu安装mpi)2025-05-12 21:36:04
  • spark面试题总结(spark 面试题总结)2025-05-12 21:36:04
  • aurora是什么牌子手表是哪国的(auriol是什么品牌手表)2025-05-12 21:36:04
  • 全屏图片