QML手势及多点触摸之PinchArea

PinchArea

可以参看PinchArea文档。下面是SDK自带的demo。通过此demo可以了解PinchArea的使用。
PinchArea实现了“挤压”操作。
要点:在onPinchStarted、onPinchUpdated、onPinchFinished三个槽函数中,均可以使用一个内置的pinch参数。这个参数是一个PinchEvent实例(instance)。

import QtQuick 1.1

Rectangle {
width: 640
height: 360
color: "gray"

Flickable {
    id: flick
    anchors.fill: parent
    contentWidth: 500
    contentHeight: 500

    PinchArea {
        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: {
            // adjust content pos due to drag
            flick.contentX += pinch.previousCenter.x - pinch.center.x
            flick.contentY += pinch.previousCenter.y - pinch.center.y

            // resize content
            flick.resizeContent(initialWidth * pinch.scale, initialHeight * pinch.scale, pinch.center)
        }

        onPinchFinished: {
            // Move its content within bounds.
            flick.returnToBounds()
        }

        Rectangle {
            width: flick.contentWidth
            height: flick.contentHeight
            color: "white"
            Image {
                anchors.fill: parent
                source: "qt-logo.jpg"
                MouseArea {
                    anchors.fill: parent
                    onDoubleClicked: {
                        flick.contentWidth = 500
                        flick.contentHeight = 500
                    }
                }
            }
        }
    }
}
}

其他不再赘述。很简单。

QML手势及多点触摸之PinchArea

时间: 2024-08-29 15:29:57

QML手势及多点触摸之PinchArea的相关文章

支持元素惯性拖放和多点触摸手势的js插件

interact.js是一款支持元素惯性拖放和多点触摸手势的js插件.该插件支持在桌面设备和移动手机设备中拖放元素,拖动结束时带有惯性效果.并且支持移动设备的多点触摸手势.它的特点有: 带惯性和吸附效果 支持多元互动 跨浏览器和设备,支持桌面和移动版本的Chrome, Firefox 和 Opera浏览器以及IE8+浏览器 可以和SVG元素相互作用 轻量级,无任何外部依赖 除非要支持IE8或修改鼠标样式,否则不用修改任何DOM元素 效果演示:http://www.htmleaf.com/Demo

WPF 多点触摸开发[2]:WPF触摸的几个手势的执行顺序

原文:WPF 多点触摸开发[2]:WPF触摸的几个手势的执行顺序 前面我讲了在win7下使用模拟器,进行调试模拟多点触摸,其实际开发中这样也比较麻烦.. 要拿几个鼠标. 所以更多的人会 买个触摸套 套在显示屏上. 这样可支持 2点触摸. 又没有正真触摸屏的昂贵,价格也相对优惠很多. 接下来进入正题 . WPF其实本身对触摸事件就支持. 其中有些高及触屏的操作的手势路由事件. 大大增强了用户体验性. 使得我们能做出类似iphone手机的的触控效果.并使之这些柔和的效果 移植到桌面触摸应用上. 首先

自定义ImageView实现图片手势滑动,多点触摸放大缩小效果

首先呢,还是一贯作风,我们先来看看众多应用中的示例:(这种效果是很常见的,可以说应用的必须品.)                搜狐客户端                                    百度新闻客户端                              新浪微博                              凤凰新闻客户端 也许大家对这些客户端并不陌生,但是不知道大家有没有注意到这些不足之处呢,这里我就叨唠吓这些不人性化的地方. 首先搜狐:她的图片放大后

Android中的多点触摸

代码下载地址 代码一:自定义支持多点触摸的TextView http://download.csdn.net/detail/zhiyuan0932/9513852 什么是多点触摸 允许计算机用户同时通过多个手指来控制图形界面的一种技术 多点触摸的应用场景 对图片.文字.网页进行放大或者缩小 多手指手势操作自定义控件和布局 触摸事件的重要方法 event.getActionMasked(): 获取事件类型 在只使用单手指操作的时候,这个方法我们一般使用的是event.getAction(),来获取

ios开发——实用技术篇Swift篇&多点触摸与手势识别

多点触摸与手势识别 1 2 //点击事件 3 var atap = UITapGestureRecognizer(target: self, action: "tapDo:") 4 self.view.addGestureRecognizer(atap) 5 atap.numberOfTapsRequired = 1 //单击次数 6 atap.numberOfTouchesRequired = 1 //手指个数 7 8 //拖动事件 9 var aPan = UIPanGesture

Linux Android 多点触摸协议 原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/os/71/12306571.shtml

为了使用功能强大的多点触控设备.就须要一种方案去上报用户层所需的具体的手指触摸数据. 这个文档所描写叙述的多点触控协议能够让内核驱动程序向用户层上报随意多指的数据信息. 使用说明 单点触摸信息是以ABS承载并按一定顺序发送,如BTN_TOUCH.ABS_X.ABS_Y.SYNC.而多点触摸信息则是以ABS_MT承载并按一定顺序发送.如ABS_MT_POSITION_X.ABS_MT_POSITION_Y,然后通过调用input_mt_sync()产生一个 SYN_MT_REPORT event来

Android多点触摸交互处理,放大缩小图片

多点触摸(MultiTouch),指的是允许计算机用户同时通过多个手指来控制图形界面的一种技术.与多点触摸技术相对应的就是单点触摸,单点触摸的设备已经有很多年了,小尺寸的有触摸式的手机,大尺寸的最常见的就是银行里的ATM机和排队查询机等等. 多点触摸技术在实际开发过程中,用的最多的就是放大缩小功能.比如有一些图片浏览器,就可以用多个手指在屏幕上操作,对图片进行放大或者缩小.再比如一些浏览器,也可以通过多点触摸放大或者缩小字体.其实放大缩小也只是多点触摸的实际应用样例之一,有了多点触摸技术,在一定

QML手势相关的实验模块:Qt.labs.gestures模块介绍

1.QtQuick 1 vs QtQuick2 二者还是有很大区别的,无论从模块重组还是从底层实现,均需注意.下面是两个官方文档给出的差别说明及列表: 差别说明 差别列表 2.Qt.labs.gestures 虽然没有正式的Release模块(Types in the Qt.labs module are not guaranteed to remain compatible in future versions.),但在qt4.8中,提供了一个gesture特性的试验模块. 此外,还有一个开发

WPF中的多点触摸事件

原文:WPF中的多点触摸事件 UIElement在WPF4下添加了很多支持多点触摸的事件,通过它们可以在硬件支持的情况下处理多点触摸,以下通过代码来说明通过处理这些事件,我们可以做些什么: 一.触摸相关的多种事件,跟鼠标事件是对应的,通过这些事件可以获取到多个触摸的鼠标点,并进行相应的处理 public static readonly RoutedEvent TouchDownEvent; public static readonly RoutedEvent TouchEnterEvent; p