2.0 KiB
2.0 KiB
坐标
- Item(图元)坐标:属于局部坐标,通常以图元中心为原点(中心对称),非中心对称类,比如dialog类,一般以左上角为原点,正方向x朝右,y朝下。
- setPos的坐标是父类坐标系的坐标,一般对于item位于scene中的应用场景。
- scene(场景)坐标:属于逻辑坐标 logical coordinates(与QPainter相同),以场景中心为原点,正方向x朝右,y朝下。
- 图元原点(左上角dialog的原点)与场景原点对齐,导致图元外边框的左上角顶点在场景中的坐标位置为(负数,负数)。
- View(视图)坐标:属于设备坐标device coordinates(与窗口相同),默认以左上点为原点, 正方向x朝右,y朝下。
- 默认场景scene的左上角顶点与视图坐标原点对齐。显示时默认中心对齐,当场景大小小于视图大小的时候,将中心对齐,此中指的仍然是整个图元的中心,同时,图元原点与场景原点对齐,场景左上角顶点与视图原点对齐,视图左上角顶点不一定是原点???,此时也将出现视图坐标有正值有负值。
- 1)translate()将当前视图坐标原点平移,从而实现显示图像的平移变换。由于默认场景的左上角顶点与视图坐标原点对齐,translate()将坐标原点平移,也就实现了将场景的平移。
- 2)rotate()将当前视图围绕视图坐标原点旋转,从而实现显示图像的旋转变换。
- 3)size()返回视图大小,默认大小10030,由于视图可以是无限大小而且只有在显示后才创建出实际尺寸,因此只有在showEvent中调用 size 函数才能正确显示视图大小,否则都是返回默认的10030,因为此时视图尚未显示,即尚未形成。
https://www.cnblogs.com/cthu/p/5103551.html
常用的QGraphicsItem
https://blog.csdn.net/liang19890820/article/details/53065293
QGraphics
https://blog.csdn.net/liang19890820/article/details/51966791