Graphics View中有三个坐标系统,即场景坐标、视图坐标、图形项坐标。

场景坐标

场景坐标等价于QPainter的逻辑坐标,一般以场景中心为原点;视图坐标与设备坐标相同,是物理坐标,默认为左上角为原点;图形项的坐标是局部逻辑坐标,一般以图形项的中心为原点。

一个图形项的位置是其中心点在父坐标中的坐标,对于没有父图形项的图形项,其父对象就是场景,图形项的位置就是在场景中的坐标。如果一个图形项还是其他图形项的父项,那么父项进行坐标转换的时候,子项也做同样的坐标转换。

视图坐标

视图坐标就是窗口界面的物理坐标,单位是像素。视图坐标只与widget或视口有关,而与观察的场景无关,左上角坐标为(0,0)

场景坐标

场景是所有图形项的基础坐标,场景坐标描述了每个顶层图形项的位置,创建场景时可以定义矩形区域的坐标范围。

_scene = new QGraphicsScene(-100, -100, 200, 200);

这样就定义了一个左上角坐标为(-100,-100)宽度为200,高度为200 的矩形区域,单位是像素

QGraphicsView是用于观察一个场景的物理窗口,当场景小于视图时,整个场景在视图中可见;当场景大于视图时,视图自动提供滚条。

示例代码:

 ui.graphicsView->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);_scene = new QGraphicsScene(-100, -100, 200, 200);ui.graphicsView->setScene(_scene);QPen pen;pen.setWidth(2);pen.setColor(QColor(255, 0, 0));_scene->setBackgroundBrush(QBrush(Qt::gray));_scene->addLine(-100, 0, 100, 0, pen);_scene->addLine(0, -100, 0, 100, pen);_scene->addEllipse(-25, -25, 50, 50, pen);

QGraphicsScene和QGraphicsView坐标系统相关推荐

  1. Qt工作笔记-QGraphicsView框架容易忽视的坐标问题-“画布”QgraphicsScene到底放在了哪儿?

    转载地址: https://blog.csdn.net/tianyuan521521/article/details/46290525 前言 最近一直使用QGraphicsView框架在我的一个实际项 ...

  2. QGraphicsView,QGraphicsScene和QGraphicsItem

    图形视图框架提供了一个基于图形项的模型视图编程方法,主要由场景.视图和图形项三部分组成,这三部分分别由QGraphicsScene.QGraphicsView和QGraphicsItem这三个类来表示 ...

  3. Qt 绘图之QGraphicsScene QGraphicsView QGraphicsItem详解

    Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放.这个柜架也包 ...

  4. Qt绘图之QGraphicsScene QGraphicsView QGraphicsItem详解

    Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放.这个柜架也包 ...

  5. QGraphicsScene QGraphicsView QGraphicsItem

    Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放.这个柜架也包 ...

  6. QGraphicsView,QGraphicsScene,QGraphicsItem

    参考:Qt4 开发实践第八章 图形视图QGraphicsView #ifndef DRIVEDGRAPH_H #define DRIVEDGRAPH_H#include <QObject> ...

  7. Graphics View 坐标系统

    Graphics View基于笛卡尔坐标系.item在场景中的位置与几何形状通过x,y坐标表示.当使用未经变形的视图来观察场景时,场景中的一个单位等于屏幕上的一个像素.在Graphics View中有 ...

  8. 基于QGraphicsView实现绘画曲线注意点

    目的: 对于刚了解QGraphics体系来说,基于QGraphicsView实现白板绘画曲线实现矢量绘画其实不难,然后基于非矢量绘画(通过绘画图片QImage)时,看了源代码后,结合经理所说方法,遇到 ...

  9. 图形视图(02):【类】QGraphicsScene [官翻]

    文章目录 详述 事件处理和传播 公共类型 enum ItemIndexMethod enum SceneLayer 属性 backgroundBrush: QBrush bspTreeDepth: i ...

最新文章

  1. 多线程面试题_100多线程和Java并发面试问答–最终清单(PDF下载)
  2. 使用Retrofit时,对参数进行加密
  3. 阿里云发布 Spring Boot 新脚手架,真香
  4. Java小游戏 —— 德州扑克
  5. php 日志函数,php 写入日志函数
  6. php 建立自己的框架,利用 Composer 一步一步构建自己的 PHP 框架(一)——基础准备...
  7. js函数引用、函数调用与回调函数
  8. 《啊哈算法》 解密 QQ 号 —— 队列(python实现)
  9. Sqlserver学习研究
  10. 27_线程安全操作及其案例
  11. latex 中表格怎么指定编号_在医学论文中,应用表格怎么用才是正确的?
  12. charles全面使用教程及常见功能详解(较详细)
  13. 基于stm32和富斯遥控器的SBUS波形分析和通讯实现
  14. android切图双数,UI切图与命名规范
  15. Dreamweaver CS6的基本使用教程
  16. 椭圆是一个凸集的证明
  17. DeleteObject()的使用
  18. DSO Framer _ WinForm 使用
  19. 当代大学生开展团队学习的意义
  20. 万象管理系统需要服务器吗,万象网吧管理系统在使用中常见的几个问题

热门文章

  1. python 对数坐标_python3绘制股票K线图--pyQtgraph绘制精美股票K线图--之对数坐标(log Y)呈现...
  2. 访问文件共享服务器,显示无访问权限,不提示用户名和密码输入
  3. 1127: 矩阵乘积 C语言
  4. win10安装yolox,训练自定义模型,使用tensorrt部署全流程
  5. 光学设计CAD:基于ZEMAX的望远物镜优化设计
  6. 鲲鹏周记 ——This application requires a Java Runtime Environment 1.6.0 问题
  7. c语言 pow优化_C语言性能优化
  8. HASH碰撞问题一直没真正搞懂?这下不用慌了
  9. 【图像分割】基于模糊C均值聚类算法CGFFCM实现彩色图像分割附matlab代码
  10. 营销新玩法~茧数SCRM智能表单不一样的玩法