帝王谷资源网 Design By www.wdxyy.com
Qt5以后的版本,主要加大的对Qt Quick的改进。现实最新的版本可以利用Qt Quick实现很多的绚丽的效果。此里只是利用画布Canvas简单钟表的效果。效果如下:
源码如下
import QtQuick 2.6 import QtQuick.Window 2.2 Window { visible: true width: 740 height: 680 title: qsTr("Hello World") id:window //color: "red"; Canvas { id : canvas anchors.fill: parent width: 740 height: 680 onPaint: { var ctx = getContext("2d"); drawBack(ctx); drawDot(ctx); var date = new Date(); var hours = date.getHours() hours = hours%12; var minutes = date.getMinutes() var seconds = date.getUTCSeconds(); var timestr =date.toLocaleString("yyyy-MM-dd hh:mm:ss"); console.log(date.toLocaleString("yyyy-MM-dd hh:mm:ss")); drawSecond(seconds,ctx); drawHour(hours,minutes,ctx); drawMinute(minutes,seconds,ctx); drawSecond(seconds,ctx); } } function drawBack(ctx) { var r = 200; ctx.save(); ctx.beginPath(); ctx.translate(width/2,height/2); ctx.clearRect(-r,-r,r*2,r*2); ctx.lineWidth = 10; ctx.arc(0,0,r-5,0,Math.PI*2,false); //外圆 ctx.stroke(); //画文本 var numbers = [1,2,3,4,5,6,7,8,9,10,11,12]; ctx.font = "18px Arial"; ctx.textAlign = "center"; ctx.textBaseline = "middle"; for(var i = 0; i < 12; ++i) { var rad = 2*Math.PI/12*numbers[i]-3.14/2; var x = Math.cos(rad)*(r-30); var y = Math.sin(rad)*(r-30); ctx.fillText(numbers[i],x,y); } //画刻度 ctx.lineWidth = 2; for (var i = 0; i <60; ++i) { ctx.beginPath(); var rad = 2*Math.PI/60*i; var x = Math.cos(rad)*(r-15); var y = Math.sin(rad)*(r-15); var x2 = Math.cos(rad)*(r-10); var y2 = Math.sin(rad)*(r-10); //通过画线也可以 if (i%5 === 0) {ctx.strokeStyle="#000000";} else { ctx.strokeStyle = "#989898";} ctx.moveTo(x,y); ctx.lineTo(x2,y2); ctx.stroke(); //画圆实现 // if (i%5 === 0) // {ctx.fillStyle="#000000";} // else // { ctx.fillStyle = "#FFFFFF";} // ctx.arc(x,y,2,0,3.15*2,false); // ctx.fill(); } ctx.restore(); } function drawHour(hour, minute, ctx) { var r = 200; ctx.save(); ctx.beginPath(); //必须写 ctx.lineWidth = 7; ctx.lineCap = "round"; ctx.translate(width/2,height/2); var rad = Math.PI*2/12*hour+Math.PI*2*minute/12/60-Math.PI; ctx.rotate(rad); ctx.moveTo(0,-10); ctx.lineTo(0,r/2-10); ctx.stroke(); //必须写(填充方式) ctx.restore(); } function drawMinute(minute,second,ctx) { var r = 200; ctx.save(); ctx.beginPath(); //必须写 ctx.lineWidth = 5; ctx.lineCap = "round"; ctx.translate(width/2,height/2); var rad = Math.PI*2*minute/60 + Math.PI*2*second/60/60 -Math.PI; ctx.rotate(rad); ctx.moveTo(0,-10); ctx.lineTo(-10,r*3/5-10); ctx.stroke(); //必须写(填充方式) ctx.restore(); } function drawSecond(second,ctx) { var r = 200; ctx.save(); ctx.beginPath(); //必须写 ctx.lineWidth = 3; ctx.lineCap = "round"; ctx.translate(width/2,height/2); ctx.strokeStyle="#ff0000"; var rad = Math.PI*2*second/60-Math.PI; ctx.rotate(rad); ctx.moveTo(0,-20); ctx.lineTo(0,r*4/5-10); ctx.stroke(); //必须写(填充方式) ctx.restore(); } function drawDot(ctx) { ctx.save(); ctx.beginPath(); //必须写 ctx.translate(width/2,height/2); ctx.fillStyle="#ffffff"; ctx.arc(0,0,3,0,Math.PI*2); ctx.fill(); //必须写(填充方式) ctx.restore(); } //定时器 Timer { interval: 1000; running: true; repeat: true onTriggered: canvas.requestPaint(); } }
利用定时器实现动态效果。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
QML,钟表
帝王谷资源网 Design By www.wdxyy.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
帝王谷资源网 Design By www.wdxyy.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年12月26日
2024年12月26日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]