Zoom Flickable 的内容在车轮上活动



默认情况下,Flickable在鼠标滚轮事件上滚动:如果按下Shift修饰符,则水平滚动;如果没有任何修饰符处于活动状态,则垂直滚动。我想覆盖此行为,使其放大/缩小。

我试着用MouseArea作为Flickable的孩子。在onWheel处理程序中定义所需的行为我得到了我想要的,但它破坏了轻弹功能。两个触摸点的运动在我的Mac上被识别为轮子事件,这阻止了Flickable强化此事件(默认情况下MouseArea.preventSteelingfalse)。所以我得到了一些混合缩放特征,它尊重Flickable的速度/加速度行为。

在鼠标区域下方添加一个onWheel处理程序:

MouseArea
{
               onWheel: {
                   if (wheel.modifiers & Qt.ControlModifier){
                       if (wheel.angleDelta.y > 0)
                       {
                           zoomin()
                       }
                       else
                       {
                           zoomout()
                       }
                   }
                   else{
                       wheel.accepted=false
                   }
               }
}

相关内容

  • 没有找到相关文章

最新更新