查看完整版本: [-- qml如何同时实现单指拖动和双指捏拉缩放 --]

QTCN开发网 -> Qt QML开发 -> qml如何同时实现单指拖动和双指捏拉缩放 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

balbolbol 2017-01-03 22:23

qml如何同时实现单指拖动和双指捏拉缩放

现在代码是这样的
Image{
    id:image
    fillMode: Image.Pad
}
MouseArea{
    anchors.fill: image
    drag.target: image
    drag.threshold:1
}
PinchArea{
    anchors.fill: image
    pinch.target: image
    pinch.maximumScale: 10
    pinch.minimumScale: 0.2
    pinch.dragAxis:Pinch.XAndYAxis  
}
这样能实现捏拉缩放
但是pincharea会遮住mousearea,单指不能拖动image了

kkil001 2017-01-04 08:14
PinchArea我不知道,但是MouseArea里有个propagateComposedEvents属性,你把它设为true,然后在MouseArea里写入mouse.accept = false,最后再把MouseArea放在PinchArea的上面(Z序),这样大概就能行了。不知道能不能解决LZ的问题。另外谁能回答我的问题啊~~http://www.qtcn.org/bbs/read-htm-tid-62409.html

2806002018 2020-05-12 12:13

PinchArea{
    anchors.fill: image
    pinch.target: image
    pinch.maximumScale: 10
    pinch.minimumScale: 0.2
    pinch.dragAxis:Pinch.XAndYAxis  

    MouseArea{
        anchors.fill: image
        drag.target: image
        drag.threshold:1
    }
}
这样能实现拖动和缩放,不过控制台会打印提示 “TouchPointPressed without previous release event QQuickEventPoint(valid:true accepted:false state:Pressed scenePos:QPointF(441,371) id:2000002 timeHeld:0)”


查看完整版本: [-- qml如何同时实现单指拖动和双指捏拉缩放 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled