我有一个 Qt QML 应用程序。以下是应用程序的完整代码:
代码:
import QtQuick 2.9
import QtQuick.Window 2.2
Window {
id: app_main_window
visible: true
width: 800
height: 600
title: qsTr("Hello QML")
Rectangle {
id: my_item_1
x: 100
y: 100
width: 100
height: 100
color: "grey"
visible: true
z: 1
}
Rectangle {
id: my_item_2
x: 400
y: 400
width: 100
height: 100
color: "grey"
visible: true
z: 1
MouseArea {
anchors.fill: parent
onClicked: {
// How can I change the center of my_item_1 to some arbitrary new center. lets say app_main_window's center. this involves another question. how can I get app_main_window's center?
}
}
}
}
问:
我的问题很简单。如何将任何中心更改QQuickitem
为新中心?因此,在上述情况下,当获得点击事件
时,如何将中心更改为my_item_1
新中心(Qt.point(some_x_center, some_y_center) )。另外,是否有可能获得另一个项目的中心?Like或'center 申请到的目标?my_item_2
app_main_window
my_item_2
my_item_1
PS:
我已经简化了代码以使问题客观。my_item_1
我的实际代码中有一个相当复杂的逻辑,我需要在不使用锚点的情况下将某些东西重新对齐到一个新的中心,因为QQuickitem
我试图用它来缩放并平移到一个新点。