Qt应用开发(基础篇)——日历 QCalendarWidget

一、前言

        QCalendarWidget类继承于QWidget,是Qt设计用来让用户更直观的选择日期的窗口部件。

        时间微调输入框 

        QCalendarWidget根据年份和月份初始化,程序员也通过提供公共函数去改变他们,默认日期为当前的系统时间,用户通过鼠标和键盘去修改选中的日期,或者通过公共函数setSelectedDate改变它,也可以设置选择模式selectionMode去限制用户的行为,通过设置最小时间minimumDate和最大时间maximumDate限制可选择的日期范围。

        日历的样式,第一行默认显示星期几,周六和周天是标记为红色,第一列显示一年中的第几周,默认没有网格线,第二列显示为系统时间的每周第一天,也就是说如果你系统时间是在北京,那么第一天是周一,如果是在美国,那么第一天就是周日,可以通过setFirstDayOfWeek修改默认值。

二、QCalendarWidget类

1、dateEditEnabled 

        该属性表示是否使用一个弹出框来选择当前选中时间,按下非修饰键(空格、字母等)会弹出一个日期编辑框,如果按下的是数字,弹窗并认为按下的数字为输入,弹窗的小部件类似于QDateEdit,修改之后会在一定的延迟dateEditAcceptDelay之后生效。

bool isDateEditEnabled() const
void setDateEditEnabled(bool enable)

2、dateEditAcceptDelay

        该属性表示,在dateEditEnabled为true的情况下,弹窗小部件编辑结束之后延迟多久生效,参数为毫秒ms。

int dateEditAcceptDelay() const
void setDateEditAcceptDelay(int delay)

3、firstDayOfWeek

        该属性表示每周的第一天是周几。

Qt::DayOfWeek firstDayOfWeek() const
void setFirstDayOfWeek(Qt::DayOfWeek dayOfWeek)
Qt::DayOfWeek描述
Qt::Monday周一
Qt::Tuesday周二
Qt::Wednesday周三
Qt::Thursday周四
Qt::Friday周五
Qt::Saturday周六
Qt::Sunday周日

4、gridVisible

        该属性表示是否显示表格线,默认为false不显示。

bool isGridVisible() const
void setGridVisible(bool show)

 5、horizontalHeaderFormat

        该属性表示水平标题的格式。

        SingleLetterDayNames:显示单个字母,比如M表示Monday,中文只会显示周,而不是一、二、三这样,是有bug的,所以该格式只适用于英文。

        ShortDayNames:显示简称名,比如英文Mon表示Monday,中文周一表示星期一。

        LongDayNames:显示全称,比如英文Monday,中文星期一。

        NoHorizontalHeader:不显示水平标题。

HorizontalHeaderFormat horizontalHeaderFormat() const
void setHorizontalHeaderFormat(HorizontalHeaderFormat format)
LongDayNames

6、verticalHeaderFormat

        该属性表示垂直标题的格式,默认为ISOWeekNumbers显示为一年中的第几周,还有一种NoVerticalHeader不显示。

VerticalHeaderFormat verticalHeaderFormat() const
void setVerticalHeaderFormat(VerticalHeaderFormat)
NoVerticalHeader

 

7、maximumDate

        该属性表示日历可选择的最大日期,如果设置了最大日期,而选择日期大于最大日期,那么当前日期会被调整。如果使用setSelectedDate选择日期大于最大日期,那么不会生效。

QDate maximumDate() const
void setMaximumDate(const QDate &date)

8、minimumDate

        该属性表示日期可选择的最小日期,效果参照maximumDate

QDate minimumDate() const
void setMinimumDate(const QDate &date)

9、navigationBarVisible

        该属性表示导航是否显示,默认为true,下个月、上个月、月选择、年选择可视。

bool isNavigationBarVisible() const
void setNavigationBarVisible(bool visible)
navigationBarVisible = false

10、selectedDate 

        该属性表示当前选择的日期,设置不可超出最大值maximumDate和最小值minimumDate范围,否则无效。

QDate selectedDate() const
void setSelectedDate(const QDate &date)

11、selectionMode

        该属性表示用户选择日期的策略。

        默认为SingleSelection,用户可以通过鼠标或者键盘在范围内进行日期的选择。

        还有一种是NoSelection,用户不能选择日期,但是依然可以通过程序selectedDate去选择。

SelectionMode selectionMode() const
void setSelectionMode(SelectionMode mode)

12、公共函数

1)dateTextFormat

        获取文本格式,使用QTextCharFormat封装,类包含文本字体属性、布局属性等内容。可返回每个日期的文本格式,使用一个QMap保存每个日期对应的格式,这样Map内容很大,不建议这么干,尽量使用第二个。

QMap<QDate, QTextCharFormat> dateTextFormat() const
QTextCharFormat dateTextFormat(const QDate &date) const

       设置文本格式,使用QTextCharFormat封装,类包含文本字体属性、布局属性等内容。

void setDateTextFormat(const QDate &date, const QTextCharFormat &format)

2)monthShown

        获取当前显示的月份。

int monthShown() const

3)yearShown

        获取当前显示的年份。

int yearShown() const

4)weekdayTextFormat

        获取显示日期的文本格式,参考dateTextFormat

QTextCharFormat weekdayTextFormat(Qt::DayOfWeek dayOfWeek) const

       设置日期显示的文本格式,参考dateTextFormat

void setWeekdayTextFormat(Qt::DayOfWeek dayOfWeek, const QTextCharFormat &format)

5)setCurrentPage 

        设置当前要显示年和月,类似setSelectedDate。

void setCurrentPage(int year, int month)

6)setDateRange

        设置当前可选日期的范围,相当于setMaximumDatesetMinimumDate。

void setDateRange(const QDate &min, const QDate &max)

7)showNextMonth

        主动显示下个月。

void showNextMonth()

8)showNextYear

        主动显示下一年。

void showNextYear()

 9)showPreviousMonth

        主动显示上个月。

void showPreviousMonth()

10)showPreviousYear

        主动显示上一年。

void showPreviousYear()

 11)showSelectedDate

        主动显示当前选择的日期,比如你主动showPreviousMonth显示了上个月,在没有重新选中日期的情况下,使用此函数可以回到当前选择的日期,当然也可以记住选择,用setSelectedDate回到过去。

void showSelectedDate()

  12)showToday

        主动显示系统日期。

void showToday()

13、信号

1)activated

        用户按下RETURN键、Enter键或者双击日历的时候触发,得到当前选择的时间。

void activated(const QDate &date)

2)clicked

        用户点击选择时间的时候触发,但是如果用户点击的区域超出范围,或者用户设置选择策略selectionModeNoSelection,那么不会触发。

void clicked(const QDate &date)

3)currentPageChanged

        当前页改变的时候触发,得到新页的年份和月份。

void currentPageChanged(int year, int month)

4)selectionChanged

        当前选择的日期改变的时候触发,用户可以通过鼠标、键盘或者setSelectedDate改变当前选择的时间。

void selectionChanged()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1622010.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

星际争霸之小霸王之小蜜蜂(七)--消失的子弹

目录 前言 一、删除子弹 二、限制子弹数量 三、继续重构代码 总结 前言 昨天我们已经让子弹飞了起来&#xff0c;但是会面临一个和之前小蜜蜂一样的问题&#xff0c;小蜜蜂的行动应该限制在窗口内&#xff0c;那么子弹也是有相同之处&#xff0c;也需要限制一个移动范围&…

《影响力》,到底有多可怕?

通过案例引出主题。介绍《影响力》的六大原理。附录: 本文书籍以及个人视频账号介绍。本文6300字左右&#xff0c;预计阅读时间10分钟。 上周&#xff0c;我到李宁专卖店买一双跑步鞋&#xff0c;挑来挑去看中了一双黑色的鞋&#xff0c;款式不错&#xff0c;穿起来也很舒服。…

谋定政策经信研究扶持-万祥军:对话李玉庭跨界电商重整

谋定政策经信研究扶持-万祥军&#xff1a;对话李玉庭跨界电商重整 中国经济和信息化网 新闻中国采编网 中国新闻采编网 谋定研究中国智库网 经信研究 国研智库 国情讲坛 万赢信采编&#xff1a;“企业抱团集群发展成趋势&#xff0c;扶持政策持续加码。业内有人戏称&#xff0…

临期食品,是否只是个“过期“市场?

如今的年轻人&#xff0c;越来越喜欢在生活上精打细算。 无论是知乎豆瓣&#xff0c;还是微博贴吧&#xff0c;在各类平台论坛之中&#xff0c;都会有着"省钱"相关的话题。如何用更少的钱过上更加精致充实的生活&#xff0c;成为了当代年轻人最受欢迎的生活方式。 在…

跨界巨头谋定现代农业-农民丰收节交易会:全产业链布局

跨界巨头谋定现代农业-农民丰收节交易会&#xff1a;全产业链布局 新闻中国采编网 中国新闻采编网 谋定研究中国智库网 经信研究 国研智库 国情讲坛 哲商对话 万权采编&#xff1a;“既有农业的种植管理技术&#xff0c;又有食品深加工的能力&#xff0c;还有食品和农产品营销…

她在女性大会上请求马云“教育”老公,夫妻俩开店一年销售10个亿

“我是做淘宝的&#xff0c;然后我老公也是做淘宝的。我一年大概做两三个亿的销售额&#xff0c;我老公一年做七八个亿的销售额。我老公比较注重应酬&#xff0c;经常把自己灌醉。我老公非常想要宝宝&#xff0c;但是他每天因为生意&#xff0c;熬夜、应酬、喝醉&#xff0c;我…

深度:蒙牛老年高端产品营收增长9倍,中老年消费品市场趋势不变,创新机会涌现!

疫情仍在肆虐&#xff0c;许多行业和公司遭受重创&#xff0c;面临生死存亡的困境。 在一片悲观之下&#xff0c;中老年消费品市场凸显出顽强的生命力和独特价值&#xff0c;AgeClub在对电商平台数据和行业密切跟踪中发现&#xff1a; 蒙牛2019年“悠瑞”中老年高端系列营收增…

2021年中国奶粉行业发展现状分析,行业集中度不断提升,下沉市场发展空间广阔「图」

一、概述 奶粉是将动物奶除去水分后制成的粉末&#xff0c;它适宜保存。奶粉是以新鲜牛奶或羊奶为原料&#xff0c;用冷冻或加热的方法&#xff0c;除去乳中几乎全部的水分&#xff0c;干燥后添加适量的维生素、矿物质等加工而成的冲调食品。奶粉主要可分为全脂奶粉、脱脂奶粉…

乐高武汉楚河汉街授权专卖店重装焕新开业;玛氏中国“宠享潮生活”共建人宠友好新风尚 | 知消...

百威亚太携高端波本威士忌品牌助阵2021 Whisky L。2021年12月9日至11日&#xff0c;百威亚太携美国波本威士忌野牛仙踪亮相2021 Whisky L。与此同时&#xff0c;出产野牛仙踪威士忌的野牛仙踪蒸馏酒厂的高端线Bond and Royal也空降现场&#xff0c;参与此番共饮盛况。 伊利奶粉…

Drupal 安装语言时报错

中文下载地址: 下载 | Drupal 中文网 进入下载 | Drupal 中文网或者Chinese, Simplified overview | Translations下载语言包&#xff0c;根据你的Drupal版本下载相应的语言包 我选的是9.4.8版本&#xff0c;下载好后放到你的安装包里sites\default\files\translations 有什么…

Drupal安装配置文档(一)

Drupal安装配置文档 前段时间帮公司弄了个内部网站&#xff0c;作为一个内部信息交流平台&#xff0c;发现一个叫Drupal的内容管理系统很适合&#xff0c;于是研究了一番。由于篇幅有限&#xff0c;本文档分为&#xff08;一&#xff09;&#xff08;二&#xff09;两篇&#x…

Excel 2007

Excel 2007 一.数据的呈现与挖据 1. 开始->条件格式下 2.插入->数据透视表, 数据透视表工具->选项,&设计 二.数据的整理与分析 1.数据->分列; 2.数据的合并: 用函数公式(A1&"-"&A2) 3. 选中某个需要排序的cell, 数据->排序 4.数…

【【STM32分析IO该设置什么模式的问题】】

STM32分析IO该设置什么模式的问题 我们分析而言 我们对于PA0 的设计就从此而来 对于边沿触发的选择我们已经有所了解了 我们下拉&#xff0c;但是当我们摁下开关的时候 从0到1 导通了 所以这个是下拉 上升沿触发 而对于KEY0 我们摁下是使得电路从原来悬空高阻态到地就是0 所以…

Linux操作系统--shell编程(运算符)

语法: "$((运算式))" 或 "$[运算式]" 下面我们介绍几种Linux操作系统中的运算符的使用方式: 方式1:这一个使用比较麻烦,不推荐使用 方式2:推荐使用

android 竞品分析工具对比

最近一段时间因为琐事&#xff08;有公有私&#xff09;太多&#xff0c;加上搬家后&#xff0c;家里断网了一周&#xff0c;虽然有很多东西想写&#xff0c;但却迟迟没有动手。好在目前基本事情都搞完&#xff0c;又可以愉快的写东西了&#xff0c;所以&#xff0c;接下来博客…

华为SmartKit工具下载

SmartKit 系统架构 下载链接&#xff1a; 华为 SmartKit 软件下载和补丁升级 - 华为SmartKit 分布式存储&#xff1a;包括软件下载、补丁升级、HedEx文档、配置手册、案例、工具、产品公告、视频、论坛等内容。https://support.huawei.com/enterprise/zh/distributed-storage/…

论坛管理系统

1.技术 数据库 MYSQL8.0 WEB服务器 TOMCAT9.0 JDK JDK1.8 SPRINGMVC SPRINGMVC4.3.13 SPRING SPRING4.3.13 MYBAITS MYBAITS3.4.6 开发工具 IDEA、MAVEN 部署的服务器 CENTOS7 表4.1 系统的实现环境 2.介绍 本系统主要分为使用者模块和管理员两个模块。。管理员模块主要实现…

信息收集与常用工具

信息收集与常用工具 严正声明&#xff1a;本文仅限于技术讨论&#xff0c;严禁用于其他用途。 文章目录 信息收集与常用工具前言一、收集域名信息a&#xff09; whois查询b&#xff09; 备案信息查询 二、收集敏感信息a&#xff09; 谷歌语法b&#xff09; 黑暗引擎c&#xf…

Android脱壳工具整理

现在开源的脱壳工具比较多&#xff0c;今天我们来分享几款比较常见的脱壳工具&#xff0c;有刷入定制系统的脱壳机方式的&#xff0c;有Xpose模块hook关键函数的&#xff0c;也有Frida工具hook脱壳的&#xff0c;各有优缺点&#xff0c;小伙伴们可以自由搭配使用。 FART 这款…

F1论坛快速回复工具...

完整源码下载地址: http://download.csdn.net/download/friendan/4354446 对于喜欢逛论坛的朋友&#xff0c;是不是一直重复着这样的一个循环&#xff0c;点贴->回复->下载->点贴... 呵呵&#xff0c;在回复了N个帖子之后&#xff0c;我才发现&#xff0c;我下载的速…