[转] QML PinchArea】的更多相关文章

本文转自安老师的博文:Qt Quick 事件处理之捏拉缩放与旋转 绪论 本文介绍在Android 等智能手机上的一个非常重要的手势:捏拉手势. 捏拉手势最早在苹果手机上得到应用,苹果还曾经尝试为此操作申请专利,借以钳制三星在美国的手机和平板销售.这些我们暂且不管它,咱们只说在 Qt Quick 中如何处理捏拉手势的. Qt Quick 中的 PinchArea 带来捏拉手势,看名字是不是和 MouseArea 类似?木错,就是酱紫.先来看 PinchArea 都有哪些属性和信号,了解了这些才能使…
PinchArea类型是在QtQuick 1.1中添加进去的.PinchArea是一个不可见的对象,常用在与一个可见对象连接在一起,为对应的可见对象提供手势操作.enabled属性被用来去设置绑定对象对应的手势触摸事件是否可用.当不可用时,手势触摸域就不会在对手势或者鼠标事件进行响应了. PinchArea可以被用在两种方式下: 1.设置一个pinch.target去为对应绑定的对象提供自动接口.2.使用onPinchStarted,onPinchUpdated,onPinchFinished.…
阅读qml示例代码已有一小段时间,也陆续的写了一些自己关于qml示例代码的理解,可能由于自己没有大量的qml开发经验,总感觉复杂的ui交互qml处理起来可能会比较棘手,但事实总是会出人意料,今天我们就来分析一个关于油耗交互的qml代码.从毕业后就一直从事qt的相关开发,一直在使用QWidget窗口做产品,看多了qml后才发现原来还有这么好的ui开发利器,完全的数据和展示分离,ui可以做到想怎么变怎么变,没有了QBoxLayout的帮助(同样是约束),ui再也不用那么死板,对于灵活.绚丽的桌面程序…
Qt QML 入门 — 使用C++定义QML类型 发表于 2013 年 3 月 11 日   注册C++类 注册可实例化的类型 注册不实例化的QML类型 附带属性 注册C++类 注册可实例化的类型 如果一个C++类继承自QObject,如果需要在QML中使用创建对象,则需要注册为可实例化的QML类型. 使用qmlRegisterType()注册可实例化的QML类型,具体查看qmlRegisterType()的文档说明. //Message.cpp class Message : public Q…
assist输入: QML Types A Abstract3DSeries AbstractActionInput AbstractAnimation AbstractAxis AbstractAxis3D AbstractAxisInput AbstractBarSeries AbstractButton AbstractClipAnimator AbstractClipBlendNode AbstractDataProxy AbstractGraph3D AbstractInputHand…
新的需求出来啦,需要自动更新功能,不怕程序升级了. 自动更新,QML不好写,需要c++来辅助,这里就涉及QML中调用c++功能(这里就不写了,百度一下,很多). 思路:获取版本>下载程序>安装程序 第一步,获取版本信息,可以通过XMLHttpRequest获取最新版本. 第二步,下载程序,通过Qt c++的QtNetwork: 头文件: #ifndef ZRDOWNLOAD_H #define ZRDOWNLOAD_H #include <QObject> #include <…
随着项目深入,需要移植到安卓上,问题来了,QML安卓适配! 幸好PC端程序和手机屏幕长宽比例相似.虽然单位像素,尺寸不同,通过比例缩放,可以实现组件PC和安卓通用代码. 第一步:定义全局的转换函数(300,500是你的PC端设计尺寸) property var x_scale:mainWindow.width/300 property var y_scale:mainWindow.height/500 function get_x(x) { return x*x_scale; } functio…
小公司,没办法,什么都得自己亲自来. 服务端是MVC,现在需要可PC客户端和移动APP. 考虑到网页应用有很多界面框架,可以做出很漂亮的界面来,就尝试着使用nwjs来实现,可是在使用了2天的nwjs后,鄙人能力有限,而且文档资料有限,被迫放弃,转而使用Qt来开发,想着反正都不熟悉,就用QML来开发,好在熟悉起来很快,文档也很多,中间很多坑,下面就记录这些过程. 1.子控件可以直接调用父控件的方法 2.ScrollView默认的滚动条太丑,可以通过style: ScrollViewStyle自定义…
1.QML编写可视化元素,运行后程序窗口上无显示.检查电脑的显卡是否支持OpenGL,如果支持请更新显卡驱动. 2.加载图片显示QML Image: Cannot open.解决在qml.qrc右击添加文件目录,把图片的文件夹添加进去.图片就能正常显示. Image{ id:image width: parent.width height: parent.height source: "images/background.png" } 3.组件,一个文件就是一个基础组件,一个以文件为基…
QML弹出窗口组件,灯箱效果.动画效果,可拖拽 核心思路:一个mask层,一个最顶层,都用rectangle,禁止事件穿透 使用 Popup { id: popup width: 200; height: 300 x: 200; y:100 z: 101 opacity: 0.8 visible: false; radius: 5 ... } popup.showMask = chk.checked; popup.animationType = 'size'; popup.show(); 注意…
Qt qml 单例模式,没什么好说的,看代码吧.单例模式很适合做全局的配置文件. [示例下载] http://download.csdn.net/detail/surfsky/8539313 [以下是核心代码] Global.qml pragma Singleton import QtQuick 2.0 QtObject { property color bgColor: 'lightblue'; property property color textColor: "green" }…
Qt qml listview下拉刷新和上拉分页主要根据contentY来判断.但要加上顶部下拉指示器.滚动条,并封装成可简单调用的组件,着实花了我不少精力:) [先看效果]    [功能] 下拉刷新和上拉分页逻辑 /下拉刷新 /上拉更多 /滚动栏 /工具栏半拉显隐 Author: surfsky.cnblogs.com Lisence: MIT 请保留此文档声明 History: init. surfsky.cnblogs.com, 2015-01 add initPosition prope…
qml并没有提供树控件,只能自己写了.model仍然用ListModel对象,弄成层级的就行.delegate必须用loader动态的增加子控件,如此而已. [先看效果] [下载] http://download.csdn.net/detail/surfsky/8406181 [核心代码] import QtQuick 2.1 import QtQuick.Controls 1.0 /** 树控件 作者:surfsky.cnblogs.com 2014-10 协议:MIT 请保留本文档说明 功能…
qt qml qchart 图表组件 * Author: Julien Wintz * Created: Thu Feb 13 23:41:59 2014 (+0100) 这玩意是从chart.js迁移到qml的,简单易用好看 [先看效果] [下载] http://download.csdn.net/detail/surfsky/8426601 [调用代码示例] 先 import "QChart.js" as Charts 好了,展示你的图表 // 折线图 Chart { id: ch…
毛玻璃效果,用qml来写代码真是简短,大爱qml:) [下载地址]http://download.csdn.net/detail/surfsky/8426641 [核心代码] Rectangle{ clip: true // 属性 property Item target // 模糊源 // 毛玻璃效果 FastBlur { id: blur source: parent.target width: source.width; height: source.height radius: 64 }…
[功能] /目录.文件 /文件过滤 /递归 /事件 /高亮当前行 /当前选项 /目录切换动画 /限制根目录 [下载]:http://download.csdn.net/detail/surfsky/8311503 [核心代码] import QtQuick 2.0 import Qt.labs.folderlistmodel 2.1 /** QML目录导航列表 /目录文件 /文件过滤 /递归 /事件 /高亮当前行 /当前选项 /目录切换动画 /限制根目录 usage: FolderListVie…
依赖ajax.js类库,以下代码很简单的实现了获取天气json数据并展示的任务 [TestAjax.qml] import QtQuick 2.0 import "ajax.js" as Ajax /** 测试用ajax 获取 json 数据 更复杂的ajax调用请查看 qml/network/ 相关示例 */ Grid{ width: 600 height: 400 spacing: 10 columns: 2 Text {text: 'city:'} Text {id:city;…
main.cpp QString tmploc = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation); QDir tmpdir(tmploc + "/my_little_project"); QDirIterator it(":", QDirIterator::Subdirectories); bool isHtml = false; while (it.hasNext())…
初次遇到这个问题真有点摸不着头脑,于是乎百度一下咯,但是百度一向没有什么用,该有的没有,没用的回答倒是有特么一大堆. 自己解决: 我的解决方法很简答: 第一步:把图片放到当前路径下,也就是和.pro一个路径: 第二步:点击有main.qml的那个qrc用editor打开,然后添加这个图片文件: 第三步:右击新添加的图片copy the url .然后呢,source:"qrc:/001.png".出来了.…
最开始想出的标题是<Declarative C++ GUI库>,但太标题党了.只写了两行代码,连Demo都算不上,怎么能叫库呢……后来想换掉“库”这个字,但始终找不到合适词来替换.最后还是起了个low一点的名字,贱名好养活啊! 这篇文章的目的是介绍如何只用C++写出带有Declarative风格的代码.有一些GUI库需要额外的预处理过程(比如qt),还有一些也支持XML格式的GUI声明,但需要运行时Parse那个XML(比如wxWidgets).能不能只用一个C++编译器.不要运行时Parse…
原文链接:Lars Knoll – Evolution of the QML engine, part 1 QML作为一项技术对于Qt的成功变得越来越重要.它允许创建流畅的动画界面,与现今的市场预期相符.有三个主要的特性使得它更适合创建用户界面.首先是声明式语法,使得它非常容易创建用户界面,并且开发者和UI设计者工作在相同的代码基础上.其次,这项技术使原生代码集成变得相对容易,它承担了更多的程序逻辑以及C++所负的重任.最后,选择JavaScript作为QML语言不可分割的一部分,这样使得创建原…
QML的酷炫控件,适合移动设备开发. qt-creator的跨平台是QML与opencv的粘合剂. 关键: QImage有若干种格式,转化为相应的Mat. Mat处理完后,还要正确得还原为原来格式的QImage. 关键在于:cvMat(image);qimage(mat);的定义. 图像格式的转化: static void _gray(QString sourceFile, QString destFile){ QImage image(sourceFile); if(image.isNull(…
Qt5处于过度阶段,架构繁琐,学习成本不低.尤其是UI代码竟然被重写,变了天. Qt中的c++可能是连接OPENCV与QML的一个不错的桥梁,在此学习这部分实用的技术. Reference: http://blog.csdn.net/foruok/article/details/32698603 一.在 QML 中调用 c++ 实现 c++类 注册 QML 类型 在 QML 中导入类型 在 QML 创建由 C++ 导出的类型的实例并使用 Qt 提供了两种在 QML 环境中使用 C++ 对象的方式…
一.画布元素 自qt4.7发布qml以来,qml也在一直不断的完善中,在qt4时代使用qml时如果需要异形图,那我们只能让设计师来切图,这样的感觉是很不爽的,总感觉开发没有那么犀利.但是到了qt5这一点有所改变,qt引入了canvas画图,我们可以在程序中自定义一个画布来绘制自己想要的图形,然后达到我们自己想要的效果. 二.效果预览 图1 canvas画布 三.源码分析 代码量都是算法,这个我就不解释了(主要是看不懂),控件中就包含了一个Canvas画布,然后在画布的onPaint函数中绘制图形…
一.理解qml模型和视图 qt的发展是迅速的,虽然在每一个release版本中或多或少都有bug,但是作为一个庞大的gui库,no,应该说是一个开发框架开说,qt已经算是做的相当好.qml部分是qt4.7的时候推出的,当时qml只是为了移动端而设计的开发语言,随着it行业的发展,桌面端也产生了一定的需求,这就使得qml也必须支持桌面端的开发.使用qml可以做出绚丽的界面,并把逻辑和界面展示分开,qml和C++就好比html和JavaScript. qt中有大量的model/view类,视图类:Q…
一.概括 学习qt已有2年多的时间,从qt4.7开始使用直到现在正在使用的qt5.6,基本都在windows机器上做开发.最近有意向看了下qt的qml部分,觉着还是挺不错的,毕竟可以做嵌入式移动端产品的部分,还是值的一学.后来在网上看了一些资料,算是初步了解了下qml,所以想就自己学习的过程做以记录,也方便自己理解,如果你有机会看到这篇文章,那么我认为你也是来学习qml的,如果你已经是一个有很强qml开发经验的老手,那么这篇文章和接下来的qml学习系列的文章你都不用看下去了,呵呵... 关于qm…
先看一下效果图: 实现功能:点击不同的色块可以改变文字的颜色. 实现步骤: 一.创建一个默认的Qt Quick工程: 二.添加文件Cell.qml 这一步主要是为了实现一个自定义的组件,这个组件就是我们看到的那个色块,很明显定义成组件可以则兼UI的复用. import QtQuick 2.0 Item { id: container; property alias cellColor: rectangle.color; signal clicked(color cellColor); ; ; R…
在上一篇文章中,我们对QtQuick做了简单的介绍,体验了使用QML语言构建一个UI的便捷.这里我们简要介绍一下QML的语法. QML将界面分成一些更小的元素,这些元素可以组成一个组件,QML语言描述了UI的形状和行为,并且可以使用JavaScript修饰.总的来说QML的结构有点像HTML,其语法和CSS比较近似. 1.QML层次结构 要使用QML进行界面的布局,首先需要理解QML元素的层次结构.QML的层次结构很简单,是一个树形结构,最外层必须有一个根元素,根元素里面可以嵌套一个或多个子元素…
QML是Qt推出的Qt Quick技术的一部分,是一种新增的简便易学的语言.QML是一种陈述性语言,用来描述一个程序的用户界面:无论是什么样子,以及它如何表现.在QML,一个用户界面被指定为具有属性的对象树. 这使得Qt更加便于很少或没有编程经验的人使用. QML实际上是Qt Quick (Qt4.7.0中的新特性)核心组件之一:Qt Quick是一组旨在帮助开发者创建在移动电话,媒体播放器,机顶盒和其他便携设备上使用越来越多的直观.现代.流畅UI的工具集合. QML可以在脚本里创建图形对象,并…
本质上,Qt 是一个C++类库.在引入 QML 以前,所有的开发都是基于 C++ 的,但到了 Qt 5,QML 和 Qt Quick 成为了 Qt 的核心之一,导致很多初学者在犹豫是否还需要学习 C++. 使用 QML 开发界面主要有以下几个优点: QML 非常灵活,可以做出非常炫酷的效果,例如 QQ.360.迅雷等都不在话下. QML 是标记语言,见名知意,非常容易编写和阅读,大大提高了开发和维护效率. QML 界面简洁大气,有很多动画,适合移动端. 不同平台下的 QML 使用相同的渲染机制,…