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: rect1
	width: 100
	height: 100
	...
	Button {
		id: button1
		x: 50
		y: 52
		width: 30
		height: 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这个根节点,其的坐标系是整个屏幕的坐标系,而不是窗口的坐标系

相关推荐

  1. Qt QML 坐标转换函数

    2024-04-02 11:32:02       39 阅读
  2. GPS经纬度坐标转换

    2024-04-02 11:32:02       31 阅读
  3. Qt的坐标转换

    2024-04-02 11:32:02       36 阅读
  4. 上位机开发 halcon坐标转轴坐标

    2024-04-02 11:32:02       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 11:32:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 11:32:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 11:32:02       82 阅读
  4. Python语言-面向对象

    2024-04-02 11:32:02       91 阅读

热门阅读

  1. Python 约瑟夫环问题

    2024-04-02 11:32:02       34 阅读
  2. rust实现UDP服务器

    2024-04-02 11:32:02       41 阅读
  3. 计算矩阵中0的个数

    2024-04-02 11:32:02       36 阅读
  4. 33-1 XXE漏洞 - DTD

    2024-04-02 11:32:02       35 阅读
  5. html怎么实现axios发请求,并且实现跨域

    2024-04-02 11:32:02       34 阅读