我正在尝试制作可缩放的 Item
( Image
或任何其他组件)并将其制作成平板电脑 . 目前,我的代码如下所示:
Rectangle {
id: root
anchors.fill: parent
color: mainWindow.toGradient
Flickable {
id: flick
anchors.fill: parent
contentWidth: width
contentHeight: height
boundsBehavior: Flickable.StopAtBounds
PinchArea {
id: pArea
width: Math.max(flick.contentWidth, flick.width)
height: Math.max(flick.contentHeight, flick.height)
property real initialWidth
property real initialHeight
onPinchStarted: {
initialWidth = flick.contentWidth
initialHeight = flick.contentHeight
}
onPinchUpdated: {
flick.contentX += pinch.previousCenter.x - pinch.center.x
flick.contentY += pinch.previousCenter.y - pinch.center.y
flick.resizeContent(initialWidth * pinch.scale, initialHeight * pinch.scale, pinch.center)
}
onPinchFinished: {
flick.returnToBounds()
}
Rectangle {
width: flick.contentWidth
height: flick.contentHeight
color: "black"
Image {
anchors.fill: parent
source: "qrc:/image.jpg"
}
MouseArea {
anchors.fill: parent
onDoubleClicked: {
flick.contentWidth = root.width
flick.contentHeight = root.height
}
}
}
}
}
}
它工作得很好,但是当它超过所有屏幕时,我仍然可以缩小(缩小,即父级) .
如何在某个点/刻度处停止缩小(如果可能还放大)?
谢谢您的帮助!
1 回答
最后,我委托删除
Flickable
并改为缩放Item
.