QPainter和QGraphcisView的区别理解:
1、 QPainter
2、 QGraphicsView
3、 QPainter和QGraphicsView区别的理解
4、QGraphicsView框架基本原理
QPainter:
1、 QPainter用于“画”出图形,这里我为什么要把画打上引号呢?因为这里可以把QPainter想象成一支笔,用这个工具在纸上画出图像过后,对于整个纸张来说,画出来的东西就是不可移动的。
2、 且用这个工具画出来的图像一般都复杂度不高。
3、因此QPainter工具主要用于画出简单,不可移动的图像。即画出图像过后,纸上所画出来的东西就不能移动了。
QGraphicsView:
1、 按照官方文件来讲,QGraphicsView是一种模型–视图结构的图形管理工具。可以对单个图元进行管理操作。
2、能做的操作,进行碰撞检测,坐标变换,图元的选择,编辑,移动等。
QPainter和QGraphicsView区别的理解:
针对两者的区别可以从编程的角度来理解;
QPainter:是一种面向过程的工具,即用这个工具画出的图,是绘制出一个过程,即从坐标(0,0)到坐标(200,300)画出一条直线。一旦画出来来过后,整个事件就完成了。图形就一直在那里。比如你在纸上用铅笔画出来一条直线,如果把白纸作为背景,那么画出来的直线就不可以移动
QGraphicsView:可以理解为一种面向对象的工具,QGraphicsView工具是一种将直线,圆,椭圆,矩形等各种形状作为一个个配件,而编程者需要做的是利用这些配件,组装出自己想要的图像,这些配件是可以被操作的,其中的操作包括,旋转,移动,放大,缩放,选择等等,就不像QPainter的那样----画出来即是固定。所以QGraphicsView更像是一种可供用户DIY的玩具。可以用来组装这些部件。比如搭积木,用方块,圆,长方体,拱形等,搭建出来一个复杂的更大更精细的物件。