文档章节

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

eightfingerdhuta
 eightfingerdhuta
发布于 2014/07/29 16:33
字数 542
阅读 899
收藏 2

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

<!-- lang: js -->
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,")")
}
}

© 著作权归作者所有

共有 人打赏支持
eightfingerdhuta
粉丝 3
博文 12
码字总数 13021
作品 0
卢湾
私信 提问
【Qt笔记】Qt 模块简介

Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中。Qt 4 也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化。本节主要对 Qt 5 的模块进行一个简单的介绍,以便以后大家需要哪...

大道无名
2016/07/29
28
0
Qt5及模块架构分析

关于框架 Qt这个框架历史悠久,由于当年桌面操作系统的GUI程序开发比较费劲,一般使用普通语言如c、c++或者平台自身提供的难用框架,windows、Linux、mac各有各的不同机制。1991–Haavard N...

心翔
2016/02/06
1K
0
Qt.WebSocket导致的部署失败及解决方案

场景描述 在中使用模块时,开发中引用正常(Desktop构建模式),但是使用工具部署时,对应的依赖库是没有添加进去的,导致部署失败 在中使用模块时,开发中引用正常(Desktop构建模式),使用工具部署后...

jannn
2016/04/26
168
0
Qt5 结构及模块组成?

作为一个Qt的粉丝,对将于明年发布的Qt5充满了期待。可是想想Qt5将发生的巨大变化,心底又有点不安。Qt5到底会变成什么样呢? 看看近期Qt5的一些大动作: 从 QtCore中移除 QSettings以及对Q...

晨曦之光
2012/05/08
1K
0
QtAV 1.5.0 发布,跨平台高性能音视频框架

QtAV 1.5.0 发布,更新内容如下: 加入QtAVWidgets模块。和QtMultimeida一样,QtAV模块只包含核心的功能,只依赖QtCore和QtGui。这样部署QtQuick应用可以去掉QtWidgets模块,大概小6M。QtAV模...

LucasWang
2015/02/14
4.1K
7

没有更多内容

加载失败,请刷新页面

加载更多

码云项目100,水一发

简单回顾一下: 早期构想最多的,是希望能将PHP一些类和编码分区做得更细,所以很多尝试。但不得不说,PHP的功能过于单一,是的,也许写C/C++扩展,可以解决问题,那我为什么不用C#或者Golan...

曾建凯
今天
3
0
Spring应用学习——AOP

1. AOP 1. AOP:即面向切面编程,采用横向抽取机制,取代了传统的继承体系的重复代码问题,如下图所示,性能监控、日志记录等代码围绕业务逻辑代码,而这部分代码是一个高度重复的代码,也就...

江左煤郎
今天
4
0
eclipse的版本

Eclipse各版本代号一览表 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse基本内核包括:图形API(SWT/Jface),Java开发环...

mdoo
今天
3
0
SpringBoot源码:启动过程分析(一)

本文主要分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 还是老套路,先把分析过程的时序图摆出来:时序图-SpringBoot2.10启动分析 二.源码分析 首...

Jacktanger
今天
6
0
小白带你认识netty(二)之netty服务端启动(上)

上一章 中的标准netty启动代码中,ServerBootstrap到底是如何启动的呢?这一章我们来瞅下。 server.group(bossGroup, workGroup);server.channel(NioServerSocketChannel.class).optio...

天空小小
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部