QGraphicsScene和QGraphicsView坐标系统
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坐标系统相关推荐
- Qt工作笔记-QGraphicsView框架容易忽视的坐标问题-“画布”QgraphicsScene到底放在了哪儿?
转载地址: https://blog.csdn.net/tianyuan521521/article/details/46290525 前言 最近一直使用QGraphicsView框架在我的一个实际项 ...
- QGraphicsView,QGraphicsScene和QGraphicsItem
图形视图框架提供了一个基于图形项的模型视图编程方法,主要由场景.视图和图形项三部分组成,这三部分分别由QGraphicsScene.QGraphicsView和QGraphicsItem这三个类来表示 ...
- Qt 绘图之QGraphicsScene QGraphicsView QGraphicsItem详解
Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放.这个柜架也包 ...
- Qt绘图之QGraphicsScene QGraphicsView QGraphicsItem详解
Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放.这个柜架也包 ...
- QGraphicsScene QGraphicsView QGraphicsItem
Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放.这个柜架也包 ...
- QGraphicsView,QGraphicsScene,QGraphicsItem
参考:Qt4 开发实践第八章 图形视图QGraphicsView #ifndef DRIVEDGRAPH_H #define DRIVEDGRAPH_H#include <QObject> ...
- Graphics View 坐标系统
Graphics View基于笛卡尔坐标系.item在场景中的位置与几何形状通过x,y坐标表示.当使用未经变形的视图来观察场景时,场景中的一个单位等于屏幕上的一个像素.在Graphics View中有 ...
- 基于QGraphicsView实现绘画曲线注意点
目的: 对于刚了解QGraphics体系来说,基于QGraphicsView实现白板绘画曲线实现矢量绘画其实不难,然后基于非矢量绘画(通过绘画图片QImage)时,看了源代码后,结合经理所说方法,遇到 ...
- 图形视图(02):【类】QGraphicsScene [官翻]
文章目录 详述 事件处理和传播 公共类型 enum ItemIndexMethod enum SceneLayer 属性 backgroundBrush: QBrush bspTreeDepth: i ...
最新文章
- 多线程面试题_100多线程和Java并发面试问答–最终清单(PDF下载)
- 使用Retrofit时,对参数进行加密
- 阿里云发布 Spring Boot 新脚手架,真香
- Java小游戏 —— 德州扑克
- php 日志函数,php 写入日志函数
- php 建立自己的框架,利用 Composer 一步一步构建自己的 PHP 框架(一)——基础准备...
- js函数引用、函数调用与回调函数
- 《啊哈算法》 解密 QQ 号 —— 队列(python实现)
- Sqlserver学习研究
- 27_线程安全操作及其案例
- latex 中表格怎么指定编号_在医学论文中,应用表格怎么用才是正确的?
- charles全面使用教程及常见功能详解(较详细)
- 基于stm32和富斯遥控器的SBUS波形分析和通讯实现
- android切图双数,UI切图与命名规范
- Dreamweaver CS6的基本使用教程
- 椭圆是一个凸集的证明
- DeleteObject()的使用
- DSO Framer _ WinForm 使用
- 当代大学生开展团队学习的意义
- 万象管理系统需要服务器吗,万象网吧管理系统在使用中常见的几个问题
热门文章
- python 对数坐标_python3绘制股票K线图--pyQtgraph绘制精美股票K线图--之对数坐标(log Y)呈现...
- 访问文件共享服务器,显示无访问权限,不提示用户名和密码输入
- 1127: 矩阵乘积 C语言
- win10安装yolox,训练自定义模型,使用tensorrt部署全流程
- 光学设计CAD:基于ZEMAX的望远物镜优化设计
- 鲲鹏周记 ——This application requires a Java Runtime Environment 1.6.0 问题
- c语言 pow优化_C语言性能优化
- HASH碰撞问题一直没真正搞懂?这下不用慌了
- 【图像分割】基于模糊C均值聚类算法CGFFCM实现彩色图像分割附matlab代码
- 营销新玩法~茧数SCRM智能表单不一样的玩法