qt QGraphicsScene 简单例子

article/2025/11/3 23:04:13

坐标
在这里插入图片描述
在这里插入图片描述
graphicsView是Widget这个界面的子控件,
他的位置是左上角坐标为(30,30)
他的宽度为431,高度为431.
如果在graphicsView 这个子控件中,
继续加入 子控件A,由于graphicsView比较特殊。
根据它的alignment属性,如果 子控件A 的长宽小于 graphicsView.
那么子控件A 会在graphicsView 中居中显示。

在这里插入图片描述

这个 子控件A 的左上角顶点
在graphicsView 中有一个坐标值。
同时在子控件A 内部有一个坐标值。
两者的坐标系还不一样。

setSceneRect(qreal x, qreal y, qreal w, qreal h)
ui->graphicsView 增加一个Scene ,
增加这个Scene ,相当于一个widget 增加一个子控件。

x,y 是子控件的左上角这个点,在QGraphicsScene坐标系中的坐标值,
相当于指定了QGraphicsScene 和graphicsView的一个连接点。

这个点在graphicsView 坐标系就是一个qt控件的左上角顶点。
这个点在QGraphicsScene坐标系中,就是x和y指定的一个Scene坐标。
根据这个点,就可以得到Scene的中心点,
根据中心点和w和h,可以得到完整的scene场景。

w,h是Scene 场景的宽度和高度

源码:

#include "widget.h"
#include "ui_widget.h"
#include <QtGui>
#include <QGraphicsEllipseItem>
#include <QGraphicsView>
#include <QGraphicsScene>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);QGraphicsScene *scene = new QGraphicsScene;scene->setSceneRect(QRectF(0,0,400,400));//画一个矩形框//矩形框正好等于scene的大小QGraphicsRectItem   *item=new QGraphicsRectItem(QRectF(0,0,50,50));//可选,可以有焦点,但是不能移动item->setFlags(QGraphicsItem::ItemIsSelectable| QGraphicsItem::ItemIsFocusable);QPen    pen;pen.setWidth(2);item->setPen(pen);item->setBrush(Qt::red);scene->addItem(item);scene->setBackgroundBrush(Qt::green);ui->graphicsView->setScene(scene);}Widget::~Widget()
{delete ui;
}

在这里插入图片描述
红色矩形的左上角 就是 scene的中心 坐标原点(0,0)

修改
scene->setSceneRect(QRectF(0,0,400,400));

scene->setSceneRect(QRectF(-200,-200,400,400));

效果如下:
在这里插入图片描述

QGraphicsRectItem(QRectF(0,0,50,50));
0,0是指的 这个图元 在QGraphicsScene坐标系中的坐标值

例子

《Qt5.9 C++开发指南》中 samp8_4GraphicsCooridate

在这里插入图片描述
状态栏
鼠标移动事件 — 鼠标移动 会自动更新状态栏 View坐标和Scene坐标
鼠标点击事件---- 就是鼠标点击一下,状态栏item坐标 会改变一下


http://chatgpt.dhexx.cn/article/0dAShrjL.shtml

相关文章

QGraphicsScene设置SceneRect

简要说明 QGraphicsScene场景区域&#xff0c;可在构造QGraphicsScene对象时设定&#xff0c;也可通过函数setSceneRect设定。QGraphicsScene场景区域中坐标原点的位置&#xff0c;会影响到图形项的坐标设定&#xff0c;进而影响图形项在场景中的显示位置。以将图片显示在中心…

QT QGraphicsScene / QGraphicsView中 sceneRect 使用详细说明

接触QT不久&#xff0c;发现QT的Graphics View框架坐标使用和平常不一样&#xff0c;尤其sceneRect的作用。 官方文档关于这部分介绍真是蛋疼&#xff0c;网上说的也寥寥。没法自己研究了一下&#xff0c;其实这块内容QT设计的很方便&#xff0c;只是文档讲解的太烂&#xff0c…

【QT】GraphicsView、QGraphicsScene、QGraphicsEllipseItem的使用

GraphicsView、QGraphicsScene、QGraphicsEllipseItem的使用 前言实验目的重构GraphicsView类新建GraphicsView、QGraphicsScene层绘制Item图形控件绘制圆形绘制矩形绘制三角形绘制文字绘制直线 组合、打散、前置和后置组合打散控件前置控件后置 绑定功能事件总结 前言 对于绘…

Qt 绘图之QGraphicsScene QGraphicsView QGraphicsItem详解

Graphics View提供了一个界面&#xff0c;它既可以管理大数量的定制2D graphical items&#xff0c;又可与它们交互&#xff0c;有一个view widget可以把这些项绘制出来&#xff0c;并支持旋转与缩放。这个柜架也包含一个事件传播结构&#xff0c;对于在scene中的这些items,它具…

PyQt5:QGraphicsScene入门一:基本介绍、场景定义、添加元素

为什么80%的码农都做不了架构师?>>> 简介说明: 这个QGraphicsScene类用于在场景中操作大量的2D图形元素,这个类是作为一个容器QGraphicsItems存在的,它是连同QGraphicsView用于可视化的二维表面的图形项目,如直线,矩形,文本,甚至定制物品;还可以有效地…

QGraphicsView,QGraphicsScene和QGraphicsItem

图形视图框架提供了一个基于图形项的模型视图编程方法&#xff0c;主要由场景、视图和图形项三部分组成&#xff0c;这三部分分别由QGraphicsScene、QGraphicsView和QGraphicsItem这三个类来表示。 场景QGraphicsScene QGraphicsScene类提供绘图场景&#xff08;Scene&#…

Qt图形视图框架:QGraphicsScene详解

一、描述 1、场景提供了一个用于管理大量2D图形项的平面。该类充当图形项的容器。 它与视图一起用于可视化2D曲面上的图形图形项。 2、场景没有自己的视觉外观&#xff0c;只负责管理图形项。 3、场景的最大优势之一就是其快速有效地定位图形项的能力。即使场景中有数百万个…

Qt开发技术:图形视图框架(二)场景QGraphicsScene、QGraphicsItem与QGraphicsView详解

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/117660217 长期持续带来更多项目与技术分享&#xff0c;咨询请加QQ:21497936、微信&#xff1a;yangsir198808 红胖子(红模仿)的博文大全&#xff1…

TLS、SSL原理解析

TLS、SSL https协议就是建立在TLS、SSL之上的。

SSL证书原理讲解

SSL证书原理讲解 - 2240930501 - 博客园一直以来都对数字证书的签发&#xff0c;以及信任等事情一知半解。总算有个闲适的周末来总结和深入一下相关的知识。 CA: CA(Certificate Authority)是证书的签发机构&#xff0c;它是负责管理和签发证书的https://www.cnblogs.com/dingl…

浅谈SSL/TLS工作原理

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 浅谈SSL/TLS工作原理 SSL对称加密非对称加密定义工作过程特点及性能分析非对称加密常用算法举例 非对称加密和对称加密各自有啥优缺点&#xff1f;CA&#xff08;Certificate…

SSL工作原理介绍以及java实现

SSL工作原理介绍以及java实现 目录 SSL工作原理介绍以及java实现 SSL简介SSL工作原理 握手协议Handshake protocol 1握手阶段使用RSA加密算法2握手阶段使用Diffie-Hellman加密算法记录协议Record protocol警报协议Alert protocolWireshark抓包图解java实现Secure Sockets Laye…

SSL证书原理是什么?ssl证书工作流程是什么

SSL证书的运用促使网址更加安全性&#xff0c;做为一种加密传输协议书技术性。SSL的挥手协议书让顾客和集群服务器进行彼此之间的身份验证。为了让各位能进一步了解ssl证书&#xff0c;小编来向各位介绍SSL证书原理。 SSL证书原理如下&#xff1a; ①手机客户端向网络服务器恳…

SSL 工作原理

博客引用处&#xff08;以下内容在原有博客基础上进行补充或更改&#xff0c;谢谢这些大牛的博客指导&#xff09;&#xff1a; SSL工作原理 首先说明下SSL工作原理&#xff1a; 1.1 产生背景 基于万维网的电子商务和网上银行等新兴应用&#xff0c;极大地方便了人们的日常生活…

SSL原理介绍

SSL原理介绍 SSL——安全套接字层&#xff08;Secure Sockers Layer&#xff09;协议由著名的Netscape公司开发。为了保证通信双方建立安全可靠的传输隧道&#xff0c;SSL使用PKI中的数字证书技术对通信双方进行身份认证&#xff1b;使用对称加密来保证数据保密性&#xff1b;使…

ssl 原理和建立连接过程

ssl 与http关系 ssl (“Secure Sockets Layer”)加密原理 和https的关系 https http ssl ssl 位置&#xff1a; SSL握手 证书主要作用是在SSL握手中&#xff0c;我们来看一下SSL的握手过程 客户端提交https请求服务器响应客户&#xff0c;并把证书公钥发给客户端客户端验…

SSL/TLS 的工作原理

HTTPS 之所以能达到较高的安全性要求,就是结合了 SSL/TLS 和 TCP 协议,对通信数据进行加密,解决了 HTTP 数据透明的问题。接下来重点介绍一下 SSL/TLS 的工作原理。 SSL 和 TLS 的区别? SSL 和 TLS 没有太大的区别。 SSL 指安全套接字协议(Secure Sockets Layer),首次…

SSL工作原理

公钥和私钥 一直以来对公钥和私钥都理解得不是很透彻&#xff0c;感觉到模棱两可。今天在网上找了半天&#xff0c;通过查看对这个密钥对的理解&#xff0c;总算弄清楚了。 公钥和私钥就是俗称的不对称加密方式&#xff0c;是从以前的对称加密&#xff08;使用用户名与…

SSL技术原理

SSL详解 建议直接看这&#xff1a;https://cshihong.github.io/2019/05/11/SSL-VPN%E6%8A%80%E6%9C%AF%E5%8E%9F%E7%90%86/ SSL [虚拟专用网络]的技术主要用到了SSL技术。有关SSL具体技术&#xff0c;可以参考&#xff1a; SSL/TLS协议详解 SSL [虚拟专用网络]简介 SSL [虚拟专…

SSL协议原理详解

SSL 可参考&#xff1a;SSL技术原理 SSL简介 SSL和TLS&#xff1a; SSL (Secure Sockets Layer&#xff09;安全套接层。是由Netscape公司于1990年开发&#xff0c;用于保障Word Wide Web&#xff08;WWW&#xff09;通讯的安全。主要任务是提供私密性&#xff0c;信息完整性…