qt qml 九宫格划指锁屏视图

九宫格划指锁屏视图
Lisence: MIT, 请保留本文档说明
Author: surfsky.cnblogs.com 2015-02

【先看效果】

【下载】

http://download.csdn.net/detail/surfsky/8444999

【核心代码】

 1     //----------------------------------
 2     // 放置9个圆点
 3     //----------------------------------
 4     Grid{
 5         id: grid
 6         width: 400
 7         height: 400
 8         anchors.bottom: parent.bottom
 9         anchors.horizontalCenter: parent.horizontalCenter
10         anchors.bottomMargin: 50
11         columns: 3
12         rows: 3
13         spacing: (width-ptWidth*3)/2
14
15         LockPoint{width:ptWidth; lockId: 1;}
16         LockPoint{width:ptWidth; lockId: 2;}
17         LockPoint{width:ptWidth; lockId: 3;}
18         LockPoint{width:ptWidth; lockId: 4;}
19         LockPoint{width:ptWidth; lockId: 5;}
20         LockPoint{width:ptWidth; lockId: 6;}
21         LockPoint{width:ptWidth; lockId: 7;}
22         LockPoint{width:ptWidth; lockId: 8;}
23         LockPoint{width:ptWidth; lockId: 9;}
24     }
25
26
27     //----------------------------------
28     // 绘制圆点和连线
29     //----------------------------------
30     Canvas{
31         id: canvas
32         anchors.fill: grid
33         opacity: 0.6
34         MouseArea{
35             id: area
36             anchors.fill: parent
37             onPressed: checkAndDraw();
38             onPositionChanged: checkAndDraw();
39             // 检测并绘制
40             function checkAndDraw(){
41                 if(area.pressed) {
42                     root.checkLockPoints();
43                     canvas.requestPaint();
44                 }
45             }
46         }
47
48
49         onPaint: {
50             var ctx = getContext("2d");
51             ctx.clearRect(0, 0, width, height);
52             drawPasswordGraphy(ctx);
53         }
54
55         // 绘制密码图
56         function drawPasswordGraphy(ctx){
57             var lastPt = null;
58             for (var i=0; i<lockPoints.length; i++){
59                 var currPt = lockPoints[i];
60                 drawRound(ctx, currPt.center, 30, ‘yellow‘);
61                 if (lastPt != null)
62                     drawLine(ctx, lastPt.center, currPt.center, ptLineWidth, ‘yellow‘);
63                 lastPt = currPt;
64             }
65         }
66
67         // 绘制圆点
68         function drawRound(ctx, pt, r, c){
69             ctx.beginPath();
70             ctx.arc(pt.x, pt.y, r, 0, 2*Math.PI);
71             ctx.fillStyle = c;
72             ctx.fill();
73         }
74
75         // 绘制线段
76         function drawLine(ctx, p1, p2, w, c){
77             ctx.beginPath();
78             ctx.moveTo(p1.x, p1.y);
79             ctx.lineTo(p2.x, p2.y);
80             ctx.lineWidth = w;
81             ctx.strokeStyle = c;
82             ctx.stroke();
83         }
84     }
时间: 2024-12-18 21:06:39

qt qml 九宫格划指锁屏视图的相关文章

酷划锁屏手机赚钱APP的使用经验分享

酷划的奖励机制: 解锁手机2分-4分:下载安装推荐手机软件获得0.1元奖励,每天解锁屏幕.下载软件获取收益,还可以进行各种抽奖活动 酷划属于解锁赚钱软件,玩法简单,每次开启手机,看到界面的数字,勇敢划过去你就获得收益了.不用存款,每日收益远超余额宝.注册时填写我的邀请码:889182554 奖励5元.支持充话费.Q币.支付宝提现,购买商城实物.看我半个月的收益,到现在用酷划有段时间了,赚的钱还差点就能买了一部小米Note,太高兴了.下载通道→http://www.coohua.cn/ 酷划还有一

【腾讯Bugly干货分享】浅谈Android自定义锁屏页的发车姿势

本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57875330c9da73584b025873 一.为什么需要自定义锁屏页 锁屏作为一种黑白屏时代就存在的手机功能,至今仍发挥着巨大作用,特别是触屏时代的到来,锁屏的功用被发挥到了极致.多少人曾经在无聊的时候每隔几分钟划开锁屏再关上,孜孜不倦,其酸爽程度不亚于捏气泡膜.确实,一款漂亮的锁屏能为手机增色不少,但锁屏存在的核心目的主要是三个:保护自己手机的隐私,防止误操作,在不关闭

浅谈 Android 自定义锁屏页的发车姿势

作者:blowUp,原文链接:http://mp.weixin.qq.com/s?__biz=MzA3NTYzODYzMg==&mid=2653577446&idx=2&sn=940cfe45f8da91277d1046d90368d440&scene=4#wechat_redirect 锁屏作为一种黑白屏时代就存在的手机功能,至今仍发挥着巨大作用,特别是触屏时代的到来,锁屏的功用被发挥到了极致.多少人曾经在无聊的时候每隔几分钟划开锁屏再关上,孜孜不倦,其酸爽程度不亚于捏气

仿QQ黑屏、锁屏、程序切换等手势密码

仿QQ黑屏.锁屏.程序切换等手势密码 仿九宫格绘制手势锁屏,设置手势时,两次一样才成功,黑屏后即锁屏,需绘制手势解锁 下载地址:http://www.devstore.cn/code/info/1056.html 运行截图:     版权声明:本文为博主原创文章,未经博主允许不得转载.

iOS开发——使用技术OC篇&amp;简单九宫格锁屏功能的实现与封装

简单九宫格锁屏功能的实现与封装 首先来看看最后的实现界面. 在这开始看下面的内容之前希望你能先大概思考活着回顾一下如果 你会怎么做,只要知道大概的思路就可以. 由于iphone5指纹解锁的实现是的这个功能呗淘汰,但是你可能会在想,都淘汰了你还在这里说个毛线啊,其实大家都知道,编程注重的思想,当然会了这个你不可能就会了指纹技术,哪还得等笔者在后面的学习中给大家分享,只是或许有一天这种功能或者思路在哪里要用到你不觉得是一件很开心的事情吗,而且如果你是不想自己敲的话直接可以拿来用. 好了不多废话直接上

Qt qml中listview 列表视图控件(下拉刷新、上拉分页、滚动轴)

Qt qml中listview 列表视图控件(下拉刷新.上拉分页.滚动轴) 来源 https://www.cnblogs.com/surfsky/p/4352898.html 设置ListView涉及到将contentsY,即视图的可见部分的顶部,设置y为委托的值.另一个更改是interactive将视图设置为false.这样可以防止视图移动.用户不能再滚动列表或更改当前Item. contentY为列表上拉后列表左上角点距显示框左上解点的高度listView1.height为可显示部分的高度,

Android框架浅析之锁屏(Keyguard)机制原理

最近终于成功的摆脱了FM收音机,迈向了新的模块:锁屏.状态栏.Launcher---姑且称之为"IDLE"小组,或许叫手机 美容小组,要是能施展下周星星同学的还我漂漂拳,岂不快哉. OK,闲话打住,咱开始正文. 本文主要内容: 1.分析锁屏界面的组成 : 2.基于源代码分析锁屏相关类 : 3.提出一种在框架取消锁屏的方法 . 花了一些时间研究Android原生的锁屏框架---Keyguard,今天就慢慢的讲解下我自己对这个模块的总结,因为目前还处于 理论学习的状况,很多细节以及功能上的

钟情平台化的锁屏赚钱APP如何重塑现象级市场?

在应用市场的红海中,曾出现过诸多现象级的应用,比如一众明星曾接力拍摄搞笑视频的小咖秀,还有可以迅速复制本人卡通形象的脸萌等,这些应用由于正中用户G点得以在全网迅速传播.在这些现象级应用中,锁屏赚钱APP是比较特殊的一员,在把握住用户的"白赚"心理后,一场"病毒式"的邀请便在亲友之间弥漫开来. 现象级始于取悦用户和广告主 2012年,当Cashslide锁屏赚钱APP在韩国疯狂收割智能手机的锁屏入口时,中国才刚刚迈入智能手机时代.2013年开始,在智能手机的高速普及热

Android中锁屏密码算法解析以及破解方案

一.前言 最近玩王者荣耀,下载了一个辅助样本,结果被锁机了,当然破解它很简单,这个后面会详细分析这个样本,但是因为这个样本引发出的欲望就是解析Android中锁屏密码算法,然后用一种高效的方式制作锁机恶意样本.现在的锁机样本原理强制性太过于复杂,没意义.所以本文就先来介绍一下android中的锁屏密码算法原理. 二.锁屏密码方式 我们知道Android中现结单支持的锁屏密码主要有两种: 一种是手势密码,也就是我们常见的九宫格密码图 一种是输入密码,这个也分为PIN密码和复杂字符密码,而PIN密码