文章参考:
前言:
利用QGraphicsItem管理单个的矩形属性,封装成单个的Item项,自行管理。
利用QGraphicsScene承载所有的QGraphicsItem项,也就是用作显示的功能。
利用QGraphicsView去显示QGraphicsScene画布的区域。
这样就可以做到层层区分单独的管理自己的那一部分功能。
QGraphicsItem
创建一个类继承这个类,构造一个QGraphicsRectItem,再利用QGraphicsItem的鼠标事件去管理这个RectItem,进行大小改变、图形移动、图形的旋转。
QGraphicsScene
在Scene上绘制自定义后的QGraphicsItem类图形,Scene图形的坐标系和Item的坐标系是分开的,他们是两个不同的坐标系。QGraphicsItem想要做到绕中心点旋转就需要每次在修改QGraphicsItem自身大小的时候保持把这个中心通过setPos()函数去完成修改。利用QTransForm完成旋转的动作,旋转后QGraphicsItem的坐标系也是跟随旋转的。
QGraphicsView
QGraphicsView用作显示一个固定大小的区域,也就是显示QGraphicsScene这个画布的显示区域,呈现画布的一块区域信息。简单的继承一些鼠标的事件就可以,然后完成对Scene画布拖拽移动查看、缩放画布的操作。
后续补充代码和示例ing...