Qt QML 坐标转换函数

QML坐标转换

  • 版本
  • 相关函数

版本

Qt5.15

相关函数

下面这些函数是隶属于Item的

/// Item
object mapFromGlobal(real x, real y)
object mapFromItem(Item item, rect r)
object mapFromItem(Item item, real x, real y, real width, real height)
object mapFromItem(Item item, point p)
object mapFromItem(Item item, real x, real y)
object mapToGlobal(real x, real y)
object mapToItem(Item item, rect r)
object mapToItem(Item item, real x, real y, real width, real height)
object mapToItem(Item item, point p)
object mapToItem(Item item, real x, real y)

值得注意的是mapFromGlobalmapToGlobal的使用版本是自Qt5.7开始的

mapFromItemmapToItem是自Qt 5.15开始的

mapFrom和mapTo,
前者是指从被指向的item坐标系里的坐标参数,映射到使用者坐标系里的坐标是如何;
后者是指使用者坐标系里的坐标参数,映射到被指向的item坐标系里的坐标是如何。

打个调用示例:

Rectangle {id: rect1width: 100height: 100...Button {id: button1x: 50y: 52width: 30height: 30...
...

button1.mapToItem(rect1, 10, 12)

该函数用法是button1里QPointF(10, 12)这个坐标,在rect1里坐标是QPointF(0 + 50 + 10, 0 + 52 + 12)

button1.mapFromItem(rect1, 10, 12)

该函数用法是rect1里QPointF(10, 12)这个坐标,在button1里坐标是QPointF(0 - 50 + 10, 0 - 52 + 12)

button1.mapToGlobal(10, 12)
button1.mapFromGlobal(10, 12)

上面这两个与上同理,只是换成了Global,这个Global的对应对象就是根节点的Item所在坐标系,不过要注意的
是Window这个根节点,其的坐标系是整个屏幕的坐标系,而不是窗口的坐标系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/785367.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装使用Scoop

目标 今天看到一款用于windows系统的包管理工具Scoop,可以在powershell的命令行里安装软件,省去了找软件、配置环境等步骤,看起来还是很香的,正好最近再做csapp的家庭作业,安装个gcc看看是不是这么牛 安装Scoop 按照…

使用CRXjs、Vite、Vue 开发 Chrome 多页面插件,手动配置 vite.config.ts 和 manifest.json 文件

一、使用CRXjs、Vite、Vue 开发 Chrome 多页面插件,手动配置 vite.config.ts 和 manifest.json 文件 一、创建 Vue 项目 1. 使用 Vite 创建 Vue 项目 npm create vitelatest # npm yarn create vite # yarn pnpm create vite # pnpm选择 Vue 和 TS 进入项目…

在Windows中使用NVM安装node.js

NVM介绍 Node.js版本管理器(Node Version Manager),简称NVM,是一款用于在单个系统上轻松安装和管理多个Node.js版本的命令行工具。它允许用户根据项目需求在不同版本之间自由切换,解决了因为不同项目依赖于不同Node.j…

Golang与Java:两种编程语言的对比

Golang与Java:两种编程语言的对比 在编程世界中,Golang和Java是两种非常流行的编程语言,它们各自具有独特的优势和特点。本文将对这两种语言进行详细对比,帮助开发者了解它们之间的差异,以便根据项目需求选择合适的编…

Python快速入门系列-6(Python高级特性)

第六章: Python高级特性 6.1 列表推导式与生成器6.1.1 列表推导式6.1.2 生成器6.1.2.1 生成器表达式6.1.2.2 生成器函数6.2 装饰器与迭代器6.2.1 装饰器6.2.2 迭代器6.3 异常处理与错误调试6.3.1 异常处理6.3.1.1 try-except语句6.3.1.2 try-except-else语句6.3.2 错误调试6.3…

【缺陷】硅光电二极管中的DT侧壁陷阱态的DLTS表征

【A DLTS study on Deep Trench Processing induced Trap States in Silicon Photodiodes】 概括 本研究通过深能级瞬态光谱(DLTS)技术对硅光电二极管中的深沟槽(DT)侧壁诱导的陷阱态进行了详细分析。研究发现,这些陷…

golang语言系列:通用技能之 Scrum、Kanban等敏捷管理策略

云原生学习路线导航页(持续更新中) 本文是 golang语言系列 文章,主要对编程通用技能 Scrum、Kanban等敏捷管理策略 进行学习 1.什么是敏捷开发 敏捷是一个描述软件开发方法的术语,它强调增量交付、团队协作、持续规划和持续学习。…

深入探秘Python生成器:揭开神秘的面纱

一、问题起源: 想象一下,您掌握了一种魔法,在代码世界里,您可以轻松呼唤出一个整数。然而,事情并不总是看起来那样简单。在Python的奇妙王国中,我遇到了一个有趣的谜题: def tst():try:print(…

电商新秀视频号小店,2024年值得加入吗?

大家好,我是电商糖果 视频号小店去年的热度非常高,很多第一批入驻的商家,也赚的盆满钵满。 于是就有不少商家问糖果,关于视频号小店2024值不值得加入,想听听我的看法。 糖果做电商有六七年的时间了,喜欢…

2024.2.9力扣每日一题——二叉树的最近公共祖先

2024.2.9 题目来源我的题解方法一 后序遍历方法二 存储父节点(哈希表List) 题目来源 力扣每日一题;题序:236 我的题解 方法一 后序遍历 后序遍历可以携带一些子节点信息,通过后序遍历可以知道节点p和节点q在根节点的…

基于springboot实现网上点餐系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现网上点餐系统演示 摘要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于网上点餐系统当然也不能排除在外,随着网络技术的不断成熟,带动了网上点餐系统…

C链表的2种构造方式

记录下C语言中链表数据结构的2种使用模式。 一、数据和指针域混合 数据域和指针域定义在同一个结构体定义中,C语言中没有模板,意味着一个代码工程有多少数据结构就需要多少对链表的.c和.h,事实上这样会导致很多的冗余代码。 头文件 list.h …

【解決|三方工具】Obi Rope 编辑器运行即崩溃问题

开发平台:Unity 2021.3.7 三方工具:Unity资产工具 - Obi Rope   问题背景 使用Unity三方开发工具 - Obi Rope 模拟绳索效果。配置后运行 Unity 出现报错并崩溃。通过崩溃日志反馈得到如下图所示 这是一个序列化问题造成的崩溃,指向性为 Obi…

基于8086数码管数字钟计时器设计

**单片机设计介绍,基于8086数码管数字钟计时器设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于8086数码管数字钟计时器设计是一个结合了微处理器控制、数码管显示以及计时功能的综合性项目。通过此设计,我们…

容器: list

1.list的使用(对比vector) 新增接口push_front(), pop_front() 2.vector的简单实现 成员变量 node* head 迭代器的实现(主要) 思想: 封装类, 模拟指针行为->的重载: 针对自定义类型, 通过其访问其中属性const迭代器: 模板的使用 问题 erase后迭代器失效, 更新迭代器…

(负载点电源)18V/2A同步降压芯片快速瞬态响应逐周期限流保护

1. 产品特性 ➢ 输入电压范围: 4.5V~18V ➢ 最大负载: 2A ➢ 内部 PWM 控制器以达到快速瞬时响应 ➢ 软启保护时间 tss: 1ms ➢ 逐周期限流保护 ➢ 内部补偿 ➢ 可调的输入欠压锁定 ➢ 短路保护,过温保护 2. 功能描述 P…

前端-css-01

1.CSS 长度单位和颜色设置 1.1CSS 中的长度单位 px 像素 em 字体大小的倍数(字体默认是16px) % 百分比 1.2CSS 中的颜色设置方式 1.2.1使用颜色名表示颜色 red、orange、yellow、green、cyan、blue、purple、pink、deeppink、skyblue、greenyellow .…

【漏洞复现】通天星CMSV6弱口令漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

机器学习-生存分析:基于QHScrnomo模型的乳腺癌患者风险评估与个性化预测

一、引言 乳腺癌作为女性常见的恶性肿瘤之一,对女性健康构成威胁。随着医疗技术的不断进步,个性化医疗逐渐成为乳腺癌治疗的重要方向。通过深入研究乳腺癌患者的风险评估和个性化预测,可以帮助医生更准确地制定治疗方案,提高治疗效…

篇二.软件需求管理办法

二、软件需求管理办法 第1章 总则 第1条 目的。 为使软件产品满足规定的需求而确定软件的体系结构、组成模块划分和接口说明等,并将上述结果翻译成代码,以实现软件所要求的功能,确保软件项目的顺利实施和高质量交付,特制定的软件…