Qt编写自定义控件65-光晕日历
一、前言 操作系统的更新迭代速度非常快,基本上三五年就有个新版本出来,WIN10操作系统还是一个比较成功的系统,据说现在市场份额越来越大,XP的份额已经很小,WIN7的份额也在逐步减少,在最新的WIN10系统中,右下角有个日历控件,还是自带农历的,这个本地化做的蛮好的,鼠标移上去还有光晕背景效果,体验非常赏心悦目,于是打算用Qt也高仿一个。 本控件的技术难点有两个,一个是根据当前月份自动排列星期和日期,这个需要自动计算的,难点二是绘制光晕背景,需要用到painter中的图像叠加模式setCompositionMode,设置好图像叠加模式以后,可以将多个绘制重叠,按照设定的规则组合,比如将光晕背景绘制在背后。 二、实现的功能 1:可设置背景颜色 2:可设置光晕颜色 3:可设置文字颜色 4:可设置选中日期背景 5:光晕跟随鼠标移动 三、效果图 四、头文件代码 #ifndef SHADOWCALENDAR_H #define SHADOWCALENDAR_H /** * 光晕日历控件 作者:雨田哥(QQ:3246214072) 整理:feiyangqingyun(QQ:517216493) 2019-10-07 * 1:可设置背景颜色 * 2:可设置光晕颜色 * 3:可设置文字颜色 * 4:可设置选中日期背景 * 5:光晕跟随鼠标移动 */ #include <QWidget>