本文主要是介绍Qt/C++编写自定义控件66-光晕时钟,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、前言
在上一篇文章写了个高仿WIN10系统的光晕日历,这次来绘制一个光晕的时钟,也是在某些网页上看到的效果,时分秒分别以进度条的形式来绘制,而且这个进度条带有光晕效果,中间的日期时间文字也是光晕效果,整体看起来有点科幻的感觉,本控件没有什么技术难点,如果真要有难点的话也就是如何产生这个光晕效果,在使用painter绘制的时候,设置画笔,可以设置brush,brush可以是各种渐变效果,这个就非常强大了,主要有线性渐变、圆形渐变、锥形渐变,这三种渐变用得好,各种效果都得心应手随手拈来。
为了产生光晕效果,需要用到圆形渐变,并对圆形渐变中的不同的位置设置透明度值来处理,时分秒对应的进度可以自动计算出来,这个不难,比如直接用QTime可以获取对应的时分秒,然后时钟和分钟除以60,秒钟除以1000来获取对应的进度。绘制光晕文本采用的QPainterPath的addText来实现。
二、实现的功能
- 1:可设置圆弧半径宽度
- 2:可设置光晕宽度
- 3:可设置光晕颜色
- 4:可设置文本颜色
- 5:采用动画机制平滑进度展示时间
三、效果图
四、头文件代码
#ifndef SHADOWCLOCK_H
#define SHADOWCLOCK_H/*** 光晕时钟控件 作者:雨
这篇关于Qt/C++编写自定义控件66-光晕时钟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!