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

【先看效果】

【下载】

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

【核心代码】

     //----------------------------------
// 放置9个圆点
//----------------------------------
Grid{
id: grid
width: 400
height: 400
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottomMargin: 50
columns: 3
rows: 3
spacing: (width-ptWidth*3)/2 LockPoint{width:ptWidth; lockId: 1;}
LockPoint{width:ptWidth; lockId: 2;}
LockPoint{width:ptWidth; lockId: 3;}
LockPoint{width:ptWidth; lockId: 4;}
LockPoint{width:ptWidth; lockId: 5;}
LockPoint{width:ptWidth; lockId: 6;}
LockPoint{width:ptWidth; lockId: 7;}
LockPoint{width:ptWidth; lockId: 8;}
LockPoint{width:ptWidth; lockId: 9;}
} //----------------------------------
// 绘制圆点和连线
//----------------------------------
Canvas{
id: canvas
anchors.fill: grid
opacity: 0.6
MouseArea{
id: area
anchors.fill: parent
onPressed: checkAndDraw();
onPositionChanged: checkAndDraw();
// 检测并绘制
function checkAndDraw(){
if(area.pressed) {
root.checkLockPoints();
canvas.requestPaint();
}
}
} onPaint: {
var ctx = getContext("2d");
ctx.clearRect(0, 0, width, height);
drawPasswordGraphy(ctx);
} // 绘制密码图
function drawPasswordGraphy(ctx){
var lastPt = null;
for (var i=0; i<lockPoints.length; i++){
var currPt = lockPoints[i];
drawRound(ctx, currPt.center, 30, 'yellow');
if (lastPt != null)
drawLine(ctx, lastPt.center, currPt.center, ptLineWidth, 'yellow');
lastPt = currPt;
}
} // 绘制圆点
function drawRound(ctx, pt, r, c){
ctx.beginPath();
ctx.arc(pt.x, pt.y, r, 0, 2*Math.PI);
ctx.fillStyle = c;
ctx.fill();
} // 绘制线段
function drawLine(ctx, p1, p2, w, c){
ctx.beginPath();
ctx.moveTo(p1.x, p1.y);
ctx.lineTo(p2.x, p2.y);
ctx.lineWidth = w;
ctx.strokeStyle = c;
ctx.stroke();
}
}

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

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

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57875330c9da73584b025873 一.为什么需要自定义锁屏页 锁屏 ...

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

    作者:blowUp,原文链接:http://mp.weixin.qq.com/s?__biz=MzA3NTYzODYzMg==&mid=2653577446&idx=2&sn= ...

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

    一.为什么需要自定义锁屏页 锁屏作为一种黑白屏时代就存在的手机功能,至今仍发挥着巨大作用,特别是触屏时代的到来,锁屏的功用被发挥到了极致.多少人曾经在无聊的时候每隔几分钟划开锁屏再关上,孜孜不倦,其酸 ...

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

    简单九宫格锁屏功能的实现与封装 首先来看看最后的实现界面. 在这开始看下面的内容之前希望你能先大概思考活着回顾一下如果 你会怎么做,只要知道大概的思路就可以. 由于iphone5指纹解锁的实现是的这个 ...

  5. fcode-页面九宫格自动锁屏jquery插件

    fcode.js 自动锁屏插件 fcode.js是什么? fcode.js是一款web页面九宫格自动锁屏js插件,依赖于jquery, 会在设置的范围里,判断用户有无操作,然后执行锁屏的功能. 就一个 ...

  6. Java计算手机九宫格锁屏图案连接9个点的方案总数

    (一)问题 九宫格图案解锁连接9个点共有多少种方案? (二)初步思考 可以把问题抽象为求满足一定条件的1-9的排列数(类似于“八皇后问题”),例如123456789和987654321都是合法的(按照 ...

  7. Qt - 锁屏界面加虚拟小键盘

    一.实现效果 鼠标点击"密码输入栏",弹出虚拟键盘,输入锁屏密码后,点击虚拟键盘外部区域,则会隐藏虚拟键盘,再点击登录,成功进入主界面. 二.虚拟键盘-程序设计 2.1 frmNu ...

  8. Qt 实现超时锁屏

    最近使用Qt实现超时锁屏的功能(工控机触摸屏),当手长时间不触摸屏幕的时候,程序超时会显示锁屏窗口. 一.效果 主窗口超时显示锁屏窗口: 系统窗口超时显示锁屏窗口: 二.实现思路 首先开启一个线程用于 ...

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

    Qt qml listview下拉刷新和上拉分页主要根据contentY来判断.但要加上顶部下拉指示器.滚动条,并封装成可简单调用的组件,着实花了我不少精力:) [先看效果]    [功能] 下拉刷新 ...

随机推荐

  1. tomcat配置https

    1.开启使用https协议 编辑tomcat目录下的conf/server.xml文件 <Connector port="443" protocol="HTTP/1 ...

  2. 关于javaScript单线程的见解

    众所周知JavaScript是一门单线程的语言,这就意味着在同一时间他只能做一件事: 但是html5中提出了web worker的标准--->允许js创建多个线程, 这是否将改变js的单线程机制 ...

  3. PHP 天巡机票接口

    一个旅游网站项目,网站需要机票预订接入了天巡机票接口,获取机票信息,不搞不知道,一搞吓一跳比较麻烦. 搜索机票信息需要分2步,首先POST获得一个SESSION,2秒之后,根据这个SESSION,从一 ...

  4. 使用C#模拟Outlook发送邮件,代码编译报错

    添加OutLook API using OutLook = Microsoft.Office.Interop.Outlook; 发送邮件方法 public void SendEmail() { Out ...

  5. 微信 {"errcode":40029,"errmsg":"invalid code, hints: [ req_id: Cf.y.a0389s108 ]"}

    {"errcode":,"errmsg":"invalid code, hints: [ req_id: Cf.y.a0389s108 ]" ...

  6. angularJS实现二级联动查询以及自定义过滤器的使用

    <!DOCTYPE html><html lang="en"><head>    <meta http-equiv="Conte ...

  7. js 转码 和 .Net 后台解码

    为防止 中文乱码,js传值要转码,当js 用 escape() 转码时,.Net 后台可以用 HttpUtility.UrlDecode() 进行解码. 例如:   document.cookie = ...

  8. WordPress多站点获取当前博客信息

    http://www.utubon.com/1495/wordpress-multisite-get-current-bolg-info global $current_blog; 它的返回结果是: ...

  9. Jquery实现静态切换tab

    1. <div id="tabs"> <ul> <li><a href=</a></li> <li>& ...

  10. ipad互动教学