我是在QML上创建一个完全可伸缩的应用程序,我需要知道的是如何处理屏幕更改,例如这个元素动画适用于1920x1080:
EventLog{
id: eventlog
x: 0
y: 1000
z: 10
NumberAnimation{id: showeventPanel; target: eventlog; properties: "y"; to: 710; duration: 500}
}
但我无法锚定此元素,否则动画将不会发生,因此对于其他分辨率,此元素将无法正确放置,我意识到我可以将锚点设置为锚点:未定义但是如何准确设置x和y在屏幕上移动正确的位置?
答案 0 :(得分:0)
我发现的解决方案虽然不优雅,但在某种程度上起作用。我将元素锚定为如此并将其设置为虚拟矩形(centreRect),我将其锚定到正确的x和y位置:
CameraControlPanel{
id: control_Panel
// x: 1916
// y: 270
anchors {
verticalCenter: parent.verticalCenter
right: parent.right
}
anchors.rightMargin: -635
NumberAnimation{id: showPanel; target: control_Panel; properties: "x"; to: centreRect.x; duration: 500}
z: 10
}
然后,当我需要启动' showPanel'动画我将锚点设置为undefined,如下所示:
control_Panel.anchors.verticalCenter = undefined
control_Panel.anchors.right = undefined
当我需要将元素返回到正确位置时,我重置之前的锚点。