1. 坐标系转换
- var pos1 = mapToItem(re1,mouse.x,mouse.y):调用
mapToItem的坐标系转换到re1的坐标系,即Window转re1 - var pos2 = mapFromItem(re1,re2.x,re2.y):
re1的坐标系转换到调用mapFromItem的坐标系,即re1转Window
import QtQuick
import Cpp.CppType
Window{width: 800height: 600visible: truetitle: qsTr("wocaonima")Rectangle{id:rez: -4width: 200height: 200color: "blue"}Rectangle{id:re1x:20y:30z:-1width:200height:200color:"green"Rectangle{id:re2x:0y:0width:50height: 50color:"red"}}Text{id:text1width:0height:0text:qsTr("aaa")}MouseArea{anchors.fill: parentonClicked:(mouse)=>{var pos1 = mapToItem(re1,mouse.x,mouse.y)re2.x = pos1.xre2.y = pos1.yvar pos2 = mapFromItem(re1,re2.x,re2.y)re0.x = pos2.x + 50re0.y = pos2.y + 50}}Rectangle{id:re0x:0y:0width:50height: 50color:"black"}CppType{}
}