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

1、QtQuick 1 vs QtQuick2

二者还是有很大区别的,无论从模块重组还是从底层实现,均需注意。下面是两个官方文档给出的差别说明及列表:

  1. 差别说明
  2. 差别列表

2、Qt.labs.gestures

  • 虽然没有正式的Release模块(Types in the Qt.labs module are not guaranteed to remain compatible in future versions.),但在qt4.8中,提供了一个gesture特性的试验模块
  • 此外,还有一个开发者写的非官方文档可供了解gesture模块开发的背景及主要接口、属性及函数:Getting in touch with Qt Quick: Gestures and QML
  • 但,我们依然要注意,在qt文档中给出如下说明:
    Warning: GestureArea is an experimental element whose development has been discontinued. PinchArea is available in QtQuick 1.1 and handles two finger gesture input.
    Note: This element is only functional on devices with touch input.
  • 此外,附上一个git网址,里面全是Qt libs特性的实验项目,你可以找到自己需要的模块。不过有一些项目已经很久没有更新了。例如这里讨论的gestures。
    所以,在实际项目中,需要权衡一下,或者找到替代方案!!!
  • 实验特性实现文件在qt5当中的路径为:xxx/qt5.3.1/qtbase/qml/Qt/labs。
    目前只有2个内置特性模块:settings和folderlistmodel。
  • 另外:Qt Sensor Gestures也有与手势相关的传感器的内容。
  • 在qt5.3中的开发文档中,亦有相关的demo,路径为:xxx/qt5.3.1/qtquick1/examples/declarative/touchinteraction
    目录下面有3个例子:一个是关于gesture的,一个是鼠标域(MouseArea)的,一个是弹碰域(PinchArea)的。

3、官方demo

import QtQuick 1.0
import Qt.labs.gestures 1.0

// Only works on platforms with Touch support.

Rectangle {
id: rect
width: 320
height: 180

Text {
    anchors.centerIn: parent
    text: "Tap / TapAndHold / Pan / Pinch / Swipe\nOnly works on platforms with Touch support."
    horizontalAlignment: Text.Center
}

GestureArea {
    anchors.fill: parent
    focus: true

    // Only some of the many gesture properties are shown. See Gesture documentation.

    onTap:
        console.log("tap pos = (",gesture.position.x,",",gesture.position.y,")")
    onTapAndHold:
        console.log("tap and hold pos = (",gesture.position.x,",",gesture.position.y,")")
    onPan:
        console.log("pan delta = (",gesture.delta.x,",",gesture.delta.y,") acceleration = ",gesture.acceleration)
    onPinch:
        console.log("pinch center = (",gesture.centerPoint.x,",",gesture.centerPoint.y,") rotation =",gesture.rotationAngle," scale =",gesture.scaleFactor)
    onSwipe:
        console.log("swipe angle=",gesture.swipeAngle)
    onGesture:
        console.log("gesture hot spot = (",gesture.hotSpot.x,",",gesture.hotSpot.y,")")
}
}

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

时间: 2024-10-13 16:34:34

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

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十三:DS1302模块

实验二十三:DS1302模块 DS1302这只硬件虽然曾在<建模篇>介绍过,所以重复的内容请怒笔者懒惰唠叨了,笔者尽可以一笑带过,废话少说让我们进入正题吧.DS1302是执行事实时钟(Real Time Clock)的硬件,采用SPI传输. 表示23.1 访问(地址)字节. [7] [6] [5] [4] [3] [2] [1] [0] 1 A5 A4 A3 A2 A1 A0 R/W DS1302作为从机任由主机蹂躏 ... 啊,是任由主机访问才对.对此,访问便有方向之分.如表23.1所示,访

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十八:SDRAM模块① — 单字读写

实验十八:SDRAM模块① — 单字读写 笔者与SDRAM有段不短的孽缘,它作为冤魂日夜不断纠缠笔者.笔者尝试过许多方法将其退散,不过屡试屡败的笔者,最终心情像橘子一样橙.<整合篇>之际,笔者曾经大战几回儿,不过内容都是点到即止.最近它破蛊而出,日夜不停:“好~痛苦!好~痛苦!”地呻吟着,吓得笔者不敢半夜如厕.疯狂之下,誓要歪它不可 ... 可恶的东西,笔者要它血债血还! 图18.1 数据读取(理想时序左,物理时序右). 首先,让我们来了解一下,什么才是数据读取的最佳状态?如图18.1所示,红

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验六:数码管模块

实验六:数码管模块 有关数码管的驱动,想必读者已经学烂了 ... 不过,作为学习的新仪式,再烂的东西也要温故知新,不然学习就会不健全.黑金开发板上的数码管资源,由始至终都没有改变过,笔者因此由身怀念.为了点亮多位数码管从而显示数字,一般都会采用动态扫描,然而有关动态扫描的信息请怒笔者不再重复.在此,同样也是动态扫描,但我们却用不同的思路去理解. 图6.1 6位数码管. 如图6.1所示,哪里有一排6位数码管,其中包好8位DIG信号还有6位SEL信号.DIG为digit,即俗称的数码管码,如果数码管

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十:PS/2模块④ &mdash; 普通鼠标

实验十:PS/2模块④ - 普通鼠标 学习PS/2键盘以后,接下来就要学习 PS/2 鼠标.PS/2鼠标相较PS/2键盘,驱动难度稍微高了一点点,因为FPGA(从机)不仅仅是从PS/2鼠标哪里读取数据,FPGA还要往鼠标里写数据 ... 反之,FPGA只要对PS/2键盘读取数据即可.然而,最伤脑筋的地方就在于PS/2传输协议有奇怪的写时序. 图10.1 从机视角,从机读数据. 为了方便理解,余下我们经由从机的视角去观察PS/2的读写时序.图10.1是从机视角的读时序,从机都是皆由 PS2_CLK

【黑金原创教程】【FPGA那些事儿-驱动篇I 】【实验一】流水灯模块

实验一:流水灯模块 对于发展商而言,动土仪式无疑是最重要的任务.为此,流水灯实验作为低级建模II的动土仪式再适合不过了.废话少说,我们还是开始实验吧. 图1.1 实验一建模图. 如图1.1 所示,实验一有名为 led_funcmod的功能模块.如果无视环境信号(时钟信号还有复位信号),该功能模块只有一组输出端,亦即4位LED信号.接下来让我们来看具体内容: led_funcmod.v 1. module led_funcmod2. (3. input CLOCK, RESET,4. output

使用Qt.labs.settings来存储应用的设置

我在曾经的文章中,讲述了怎样使用U1db及SQLite offline storage API来存储应用的一些状态.在这篇文章中,我将介绍怎样使用Qt.labs.settings来存储应用的状态.更加具体的介绍,请參阅链接. 首先.我们创建一个最简单的"App with Simple UI"模版应用.并改动文件"main.qml"例如以下: import QtQuick 2.0 import Ubuntu.Components 1.1 import Qt.labs.

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验九:PS/2模块③ — 键盘与多组合键

实验九:PS/2模块③ — 键盘与多组合键 笔者曾经说过,通码除了单字节以外,也有双字节通码,而且双字节通码都是 8’hE0开头,别名又是 E0按键.常见的的E0按键有,<↑>,<↓>,<←>,<→>,<HOME>,<PRTSC> 等编辑键.除此之外,一些组合键也是E0按键,例如 <RCtrl> 或者 <RAlt> .所以说,当我们设计组合键的时候,除了考虑“左边”的组合键以外,我们也要考虑“右边”的组合键.&

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验七:PS/2模块① — 键盘

实验七:PS/2模块① — 键盘 实验七依然也是熟烂的PS/2键盘.相较<建模篇>的PS/2键盘实验,实验七实除了实现基本的驱动以外,我们还要深入解PS/2时序,还有PS/2键盘的行为.不过,为了节省珍贵的页数,怒笔者不再重复有关PS/2的基础内容,那些不晓得的读者请复习<建模篇>或者自行谷歌一下. 市场上常见的键盘都是应用第二套扫描码,各种扫描码如图7.2所示.<建模篇>之际,笔者也只是擦边一下PS/2键盘,简单读取单字节通码与断码而已.所谓单字节通码,就是有效的按下

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十九:SDRAM模块② — 多字读写

实验十九:SDRAM模块② — 多字读写 表示19.1 Mode Register的内容. Mode Register A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 OP Code 0 0 CAS Latency BT Burst Length A3 Burst Type 0 Sequential 1 Interleave   Burst Length A2 A1 A0 A3 = 0 A3 = 1 0 0 0 1 1 0 0 1 2 2 0 1 0