QCalendarWidget实现某个区间时间凸出显示

效果图

Qt默认的日历不能设置某个日期区间凸出显示。此文章以最简短的代码告诉大家一种方式,完成需求。效果图如下

头文件

class CalendarWidget : public QCalendarWidget
{Q_OBJECT
public:CalendarWidget(QWidget* parent = NULL);~CalendarWidget();//设置某个日期区间,并设置日区区间背景色void SetDateRange(const QDate& startDate, const QDate& endDate, const QPalette& palette);protected:void paintCell(QPainter *painter, const QRect &rect, const QDate &date) const;private:QPalette mRangePalette;                                           //设置区间颜色QDate mStartDate;                                               //设置区间的起始时间             QDate mEndDate;                                                 //设置区间的结束时间
};

主要函数实现

void CalendarWidget::paintCell(QPainter *painter, const QRect &rect, const QDate &date) const
{if ((date <= mEndDate) && (date >= mStartDate)){QPalette curPale = this->palette();const_cast <CalendarWidget&>(*this).setPalette(mRangePalette);QCalendarWidget::paintCell(painter, rect, date);const_cast <CalendarWidget&>(*this).setPalette(curPale);return;}QCalendarWidget::paintCell(painter, rect, date);
}

源码地址

源码地址:https://download.csdn.net/download/u013125105/11670176

QCalendarWidget实现某个区间时间凸出显示相关推荐

  1. 动态判断时间插件显示到年月日时分秒

    根据得到的时间格式,动态判断时间插件显示到年月日时分秒 主要split切割字符串来判断 split将一个字符串切割为字符串数组 <!DOCTYPE html> <html>&l ...

  2. Linux如何在任务栏显示时间,在MFC[转载]在MFC状态栏显示时间 状态栏显示时间

    c/c++ vc 在mfc状态栏显示时间,在VC的控件中有个Status bar可以在窗体状态栏中添加日期和时间.其实通过简单的代码,你就能创建一个有时钟显示的状态栏,并且还能设置时钟栏的显示方式.举 ...

  3. android 获取当前时间_js如何获取当前时间并显示

    js可以通过Date对象获取当前日期和时间,使用Date()获取系统当前时间,在使用getFullYear().getMonth().getDate() .getHours()等方法获取特定格式的时间 ...

  4. Js实现获取当前时间并显示

    js可以通过Date对象获取当前日期和时间,使用Date()获取系统当前时间,在使用getFullYear().getMonth().getDate() .getHours()等方法获取特定格式的时间 ...

  5. L版本12小时制状态栏时间不显示AM/PM mtk

    L版本12小时制状态栏时间不显示AM/PM 1.描述 Andoid L版本把时间格式设置为12小时制,状态栏时间不显示AM/PM的,这是google的默认设计.下拉状态栏,左上角的时间是带有AM,PM ...

  6. ESP8266读取网络时间TM1637显示时间

    ESP8266读取网络时间TM1637显示时间 // change next line to use with another board/shield #include <ESP8266WiF ...

  7. [转载]WEB中实时时间的显示

    WEB中实时时间的显示 当你进入一个网站时,是否看到里面的一个非常体贴的时间提示,好象网易社区的小秘书,会按时间提示你一些东西.其实实现起来也没什么困难,下面一步一步来吧! 1.必须取得系统当前时间, ...

  8. c 查询服务器时间会显示am,JS AM/PM时间总是显示AM

    我正在javascript中制作一个简单的时间计算器.我已将时间转换为12小时而不是24小时,但为了计算am/pm,代码总是显示am.为什么会发生这种情况?JS AM/PM时间总是显示AM 这里是我的 ...

  9. python如何显示时间_python显示当前时间

    Python中怎么显示当前时间 用Python3编写一个程序显示当前北京时间,要CSS布局HTML小编今天和大家分享显示格式如下: 当前时间import timeprint(time.strftime ...

最新文章

  1. SQL分页语句(转)
  2. SAP Spartacus storefront.component.html 怎么关联到其他的页面
  3. Python的用途是什么? Python编程语言有10多种编码用途。
  4. java怎么配置哨兵模式_redis 哨兵模式配置与spring集成
  5. python 制作自己的新闻_用Python制作一个每日新闻热点爬虫脚本
  6. PHP lareal_怎么样能在mysql里结合php的函数
  7. 使用VSCode编写LaTeX
  8. 超硬核!只要1美元!教你给MacBook装上触摸屏
  9. 3-汇编语言中与内存访问相关的寄存器/操作(DS+数据段+SS/SP+栈相关操作)
  10. js中JSON转对象、对象转JSON
  11. 如何看懂蓝桥杯单片机(CT107S)原理图
  12. redis搭建集群时报错CLUSTERDOWN Hash slot not served
  13. 安卓h5 微信 字体大小影响h5样式bug
  14. 计算机打数据执行保护删除不掉,XP老是出现“数据执行保护”怎么办?教你方法轻松解决此问题...
  15. 按钮 蓝底白字 html,为什么ChemDraw Professional 15颜色设置总是蓝底白字?
  16. 为什么程序员容易猝死
  17. DappRadar x BGA 7月链游报告:链游占行业用量近60%,融资额降至3亿美元
  18. 华为手机通过ADB永久关闭系统更新
  19. 个人简历管理系统-总结
  20. PHP调用外部程序的方法解析

热门文章

  1. plc三人抢答器的设计
  2. 项目管理手记(四) DRP项目中软件系统架构的比较
  3. 2022-2028年中国智慧燃气行业市场全景评估及投资前景规划报告
  4. 关于mos管驱动的问题
  5. MYSQL必知必会读书笔记 第二十八章 用户授权
  6. 【Android校招】六家大厂一起发难
  7. PCI PIN Security Requirement 附录A 翻译
  8. PS图片处理:凌乱图片变炫彩背景(转)
  9. 结构体与共用体字节数计算
  10. 月薪10W和月薪1W的人,真实收入差距是100倍 :普通人做到这3点,就能破局