• 5093阅读
  • 2回复

[提问]qml如何同时实现单指拖动和双指捏拉缩放 [复制链接]

上一主题 下一主题
离线balbolbol
 

只看楼主 倒序阅读 楼主  发表于: 2017-01-03
现在代码是这样的
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

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

只看该作者 2楼 发表于: 2020-05-12

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)”
快速回复
限100 字节
 
上一个 下一个