qt QGraphicsScene场景坐标和场景内GraphicsItem局部坐标的相互转换
为了更清晰地解释场景坐标与局部坐标之间的转换过程,我们可以通过一个简单的实例来演示如何赋值场景坐标,并将其转换为图形项的局部坐标。
实例步骤
假设我们有一个场景 QGraphicsScene 和一个矩形图形项 QGraphicsRectItem,矩形的大小为 100x100,位置在场景中的 (200, 200) 点。我们想将场景坐标 (250, 250) 转换为这个矩形图形项的局部坐标,此局部坐标再转回场景坐标。

#include <QApplication>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QGraphicsRectItem>
#include <QPointF>
#include <QDebug>int main(int argc, char* argv[])
{QApplication a(argc, argv);// 创建场景QGraphicsScene scene;// 创建一个矩形图形项,并设置其位置QGraphicsRectItem* rectItem = new QGraphicsRectItem(0, 0, 100, 100); // 矩形大小 100x100,左上角坐标 (0, 0)rectItem->setPos(200, 200); // 将矩形的位置设为场景中的 (200, 200)scene.addItem(rectItem); // 将矩形添加到场景中// 创建视图并展示场景QGraphicsView view(&scene);view.show();// 定义一个场景坐标 (250, 250)QPointF scenePoint(250, 250);// 场景坐标 -> 矩形图形项的局部坐标QPointF localPoint = rectItem->mapFromScene(scenePoint);// 矩形图形项的局部坐标 -> 场景坐标QPointF newScenePoint = rectItem->mapToScene(localPoint);// 输出转换后的局部坐标qDebug() << "Scene Point:" << scenePoint; // 输出: (250, 250)qDebug() << "Local Point in RectItem:" << localPoint; // 输出: (50, 50)qDebug() << "New scene point in scene:" << newScenePoint; // 输出: (250, 250)return a.exec();
}

补充:
QPointF local_pt = mapFromParent(pt); 此方法可以从父项的坐标系转换到当前图形项(GraphicsRectItem)的本地坐标系中。
相关文章:
qt QGraphicsScene场景坐标和场景内GraphicsItem局部坐标的相互转换
为了更清晰地解释场景坐标与局部坐标之间的转换过程,我们可以通过一个简单的实例来演示如何赋值场景坐标,并将其转换为图形项的局部坐标。 实例步骤 假设我们有一个场景 QGraphicsScene 和一个矩形图形项 QGraphicsRectItem,矩形的大小为 1…...
Windows与linux中docker的安装与使用
windos中安装使用docker 下载Docker_Desktop 安装包进入docker官网下载Docker_Desktop: https://www.docker.com/启用wsl 我们搜索“启用或关闭Windows功能”,打开后勾选适用于Linux的Windows 子系统 Docker_Desktop设置 出现Docker Engine stopp…...
some electronic products
纽扣电池 button cell 运动手环 sports wristband 智能手环 smart bracelet 皮卡丘夜灯 pikachu night lamp 数字显示充电器 Charger with a digital display 磁吸无线充 magnetic wireless charger 直流电机调速器 DC motor speed controller 继电器模块 relay module 锂离子电…...
刘润《关键跃升》读书笔记7
沟通: 想明⽩,说清楚,能接受 团队沟通的正确⽅式可以⽤9个字来概括:想明⽩,说清楚,能接受 (⻅图4-1)想明⽩ 有时经理跟⼈沟通,讲完之后却⽆奈地对员⼯说,你怎…...
带参宏定义
#define WM_EVENT_DECLARE_GROUP(group) extern wm_event_group_t const group 宏定义的结构: #define:这是C语言中的预处理指令,用来定义宏。宏的作用是替换代码中的特定部分,类似于全局的文本替换。这里定义的宏名称是 WM_EVE…...
java流
99. ByteArrayOutputStream转化为ByteArrayInputStream ByteArrayOutputStream baos xxx;i new ByteArrayInputStream(baos.toByteArray())100.将inputstream转换为byte[] https://blog.csdn.net/yogima/article/details/128500056 100.1 方式一 直接使用IOUtils byte[] …...
Java ArrayList扩容机制 (源码解读)
结论:初始长度为10,若所需长度小于1.5倍原长度,则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义 1:数组默认长度 2:这是一个共享的空数组实例,用于明确创建长度为0时的ArrayList ÿ…...
『功能项目』管理器基类【38】
我们打开上一篇37单例模式框架的项目, 本章要做的事情是编写管理器基类 首先创建脚本:ManagerBase.cs using UnityEngine; public abstract class ManagerBase : MonoBehaviour{public virtual void Init() { } } public class ManagerBase<T> : …...
Flex布局最后一行元素的对齐的解决方案
问题的产生 使用Flex布局,设置justify-content: space-between;让元素在主轴上两队对齐。 <div class"box"><div class"item">1</div><div class"item">2</div><div class"item">3&l…...
【ShuQiHere】上章:计算与计算机的基础概念
【ShuQiHere】✨ 在当今数字化社会,计算机已无处不在,从智能手机到人工智能应用,影响深远。然而,计算机并非一开始就如此强大。它经历了从手动工具、机械装置到电子计算机的演变。本章将回顾计算与算法的基本概念,探讨…...
前端框架有哪些?全面解析主流前端框架
一、React React 是由 Facebook 开发和维护的一个前端框架,它专注于构建用户界面。React 采用组件化的开发模式,允许开发者将用户界面拆分成多个可复用的组件。 主要特点 组件化: React 的核心是组件,它允许开发者将界面拆分成独立的、可复…...
4G MQTT网关在物联网应用中的优势-天拓四方
随着物联网(IoT)技术的飞速发展,各种设备和系统之间的互联互通变得日益重要。MQTT(Message Queuing Telemetry Transport)作为一种轻量级的发布/订阅消息传输协议,因其高效、可靠、简单的特性,在…...
【网上商城项目结构】
文章目录 前言一、网站前台二、运营商后台三、商家管理后台四、系统架构五、数据库设计六、关键技术总结 前言 网上商城项目结构通常包括网站前台、运营商后台和商家管理后台三个子系统,以及多个功能模块,如门户、搜索、购物车、订单、秒杀、个人中心等…...
VMware-Ubuntu Server安装教程
整理了B站和考拉软件上的信息 VMware安装 1.下载完成后,鼠标右击【VMware Workstation Pro 17.5.1】压缩包,选择【解压至此】 2.打开解压后的文件夹,鼠标右击【VMware17.5】选择【以管理员身份运行】 3.点击【下一步】 4.勾选【我接受许可协…...
从hadoop平台下载文件到本地Windows
一、只能上传文件,不能下载 1、原因: 如果在Windows中没有配置hadoop的环境变量,用idea远程连接上hadoop平台之后,只能往hadoop上推送数据文件,并不能下载文件,因为下载时hadoop会检测本地有无hadoop环境配置,所以我们需要安装winutils,在windows本地模拟一个hadoop环…...
MySQL-CRUD入门2
文章目录 数据的查询(补充)条件查询关于SQL语句的执行顺序分页查询(LIMIT) 数据的修改数据修改基础知识 数据的查询(补充) 这一节接着写, 包括数据的查询(补充), 数据的更新, 数据的删除 条件查询 其实就是根据给定的一些条件, 然后过滤掉不符合实际情况的记录, 把符合条件的…...
高级java每日一道面试题-2024年9月06日-基础篇-Java中的PO、VO、BO、DO、DAO、DTO、POJO是什么意思?
如果有遗漏,评论区告诉我进行补充 面试官: Java中的PO、VO、BO、DO、DAO、DTO、POJO是什么意思? 我回答: PO持久化对象(Persistent Object) PO是持久化对象,用于表示数据库中的实体或表的映射 通常与数据库表的结构和字段对应 PO的属性对…...
MFC读取PC6408板卡输入信号实例
本程序基于前期我的博客文章《MFC用信号灯模拟工控机数字量输入信号实时采集实例(源码下载》 1、在TheradDlg.h中相关代码 ... private:unsigned short nAddr; ... TheradDlg.cpp中相关代码 #include "pc60002k.h"BOOL CTheradDlg::OnInitDialog() { ..…...
@Async的使用说明
在 Spring Boot 中,Async 注解用于实现异步方法调用,允许方法在单独的线程中执行,从而避免阻塞主线程,提升应用的并发处理能力。 1. 基本用法 在 Spring Boot 中使用 Async 很简单,主要步骤如下: 步骤 1…...
经验笔记:SQL调优
SQL调优经验笔记 引言 SQL调优是确保数据库系统高效运行的重要环节。通过对查询语句、数据库配置、硬件资源等方面进行优化,可以显著提升数据库性能,进而增强应用程序的整体表现。以下是基于常见调优手段和实践经验整理的一份经验笔记。 1. 查询语句优…...
pyqt 风格
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 样式模块 定义全局样式表和动态样式生成 """from typing import Dictclass StyleManager:"""样式管理器"""# 颜色常量COLORS {bg_dark: #0F172A,bg_medium:…...
Claude Citations API 实战:让模型自动标注引用来源,RAG 准确率提升 15%
Claude Citations API 实战:让模型自动标注引用来源,RAG 准确率提升 15% 做 RAG(检索增强生成)的工程师都遇到过这种灵魂提问: “你这个回答到底是从哪段文档里得出来的?” 这个问题之所以致命,…...
Prism Launcher:重新定义你的Minecraft启动体验
Prism Launcher:重新定义你的Minecraft启动体验 【免费下载链接】PrismLauncher A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC) 项目地址: https://gitcode.com/gh_mirrors/…...
用C#手搓ABB IRB 2600机器人正逆运动学(附完整代码与避坑指南)
从零实现ABB IRB 2600机器人运动学:C#实战与工业级代码优化 在工业机器人编程领域,能够将教科书上的数学公式转化为可靠的生产线代码是一项核心技能。ABB IRB 2600作为经典的六轴工业机器人,其运动学实现过程中存在诸多教科书不会提及的工程细…...
LuaJIT字节码逆向难题:LJD如何帮你恢复可读源码
LuaJIT字节码逆向难题:LJD如何帮你恢复可读源码 【免费下载链接】luajit-decompiler https://gitlab.com/znixian/luajit-decompiler 项目地址: https://gitcode.com/gh_mirrors/lu/luajit-decompiler 面对编译后的LuaJIT字节码文件,你是否曾困惑…...
FPGA通信系统设计避坑指南:Costas环载波同步的Verilog实现与常见问题排查
FPGA通信系统设计避坑指南:Costas环载波同步的Verilog实现与常见问题排查 在无线通信接收机设计中,载波同步是确保数据正确解调的关键环节。Costas环作为一种经典的载波同步方案,广泛应用于BPSK、QPSK等相位调制系统。然而,从理论…...
三星固件下载全攻略:Bifrost跨平台工具的快速上手指南
三星固件下载全攻略:Bifrost跨平台工具的快速上手指南 【免费下载链接】Bifrost Cross-platform tool for downloading Samsung mobile device firmware. 项目地址: https://gitcode.com/gh_mirrors/sa/Bifrost 还在为三星设备刷机找不到官方固件而烦恼吗&am…...
如何通过本地解析技术彻底解决九大网盘下载限速问题
如何通过本地解析技术彻底解决九大网盘下载限速问题 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云…...
别再只会点灯了!用ESP8266+Blinker做个远程浇花器,附完整代码和手机App配置
从远程点灯到智能浇花:用ESP8266Blinker打造阳台植物管家 清晨的阳光透过窗帘洒进来,你躺在床上用手机轻轻一点,阳台上的花草便开始了自动灌溉——这不是科幻电影的场景,而是每个物联网爱好者都能实现的智能生活小确幸。对于已经…...
别让格式毁了你的论文:一份给IEEE TII投稿者的Latex排版自查清单
IEEE TII投稿LaTeX排版终极自查指南:从格式合规到学术表达优化 第一次向IEEE Transactions on Industrial Informatics(TII)投稿的研究者,往往会在收到编辑的格式审查意见时感到措手不及。那些看似微不足道的标点空格、公式编号或…...
