Roson讲Qt #9 QDateTimeEdit(日期时间编辑)

2023-11-01 19:31

本文主要是介绍Roson讲Qt #9 QDateTimeEdit(日期时间编辑),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.什么是QDateTimeEdit

    QDateTimeEdit类提供了一个用于编辑日期和时间的小部件。

    QDateTimeEdit允许用户使用键盘或方向键来编辑日期和时间值,以增加和减少日期和时间值。箭头键可用于在QDateTimeEdit框中从一个区域移动到另一个区域。日期和时间按照格式设置,需使用setDisplayFormat()。

    QDateTimeEdit *dateEdit = new QDateTimeEdit(QDate::currentDate());dateEdit->setMinimumDate(QDate::currentDate().addDays(-365));dateEdit->setMaximumDate(QDate::currentDate().addDays(365));dateEdit->setDisplayFormat("yyyy.MM.dd");

    在这里,我们创建了一个新的QDateTimeEdit对象,初始化为今天的日期,并将有效日期范围限制为今天±365天。我们已经设定了月,日,年的顺序。

    QDateTimeEdit的最小值是1752年9月14日。您可以通过调用setMinimumDate()来更改这一点,考虑到QDate的最小值是4713BC 2 January。

    其他有用的函数还有setMaximumDate()、setMinimumTime()和setMaximumTime()。

2.QDateTimeEdit使用

2.1 设置最大日期和最小日期

2.1.1 方法1

	ui.dateTimeEdit->setMinimumDate(QDate::currentDate().addDays(-365));ui.dateTimeEdit->setMaximumDate(QDate::currentDate().addDays(366));

这种写法不太好理解, 下面解释一下:

QDate::currentDate()表示当前日期,我写这篇博客的日期是2021.8.22,QDate::currentDate().addDays(-365)的意思是在当前日期上往前推365天,也就是上图中显示的2020.8.22,这个控件默认显示的初始日期就是最小日期。上图中这个日期已经无法减小了,点右边的向下箭头已经无法改小日期,只能增大。

2.1.2 方法2

	ui.dateTimeEdit->setMinimumDate(QDate(2021,05,20));ui.dateTimeEdit->setMaximumDate(QDate(2021,12,20));ui.dateTimeEdit->setDisplayFormat("yyyy.MM.dd");

这种用法就比较直观,程序设置的多大就是多大。

 

2.2 指定日历编辑器

	//设置calendarPopup属性为true-必须要这一行,而且要放在前面ui.dateTimeEdit->setCalendarPopup(true);//指定一个部件来作为弹出的日历编辑器,可以是QCalendarWidget或者QCalendarWidget的子类ui.dateTimeEdit->setCalendarWidget(new QCalendarWidget());

 

2.3 设置日期和时间的格式

可以用如下表达式来表示日期:

 

可以用如下表达式来表示时间:

 

更详细的资料需要查阅QDateTime。

下面给出几个示例:

ui.dateTimeEdit->setDisplayFormat("yyyy.MM.dd HH:MM:ss");

ui.dateTimeEdit->setDisplayFormat("yyyy/MM/dd HH:MM:ss");

 

 

这篇关于Roson讲Qt #9 QDateTimeEdit(日期时间编辑)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/325233

相关文章

Java日期类详解(最新推荐)

《Java日期类详解(最新推荐)》早期版本主要使用java.util.Date、java.util.Calendar等类,Java8及以后引入了新的日期和时间API(JSR310),包含在ja... 目录旧的日期时间API新的日期时间 API(Java 8+)获取时间戳时间计算与其他日期时间类型的转换Dur

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

利用Python实现时间序列动量策略

《利用Python实现时间序列动量策略》时间序列动量策略作为量化交易领域中最为持久且被深入研究的策略类型之一,其核心理念相对简明:对于显示上升趋势的资产建立多头头寸,对于呈现下降趋势的资产建立空头头寸... 目录引言传统策略面临的风险管理挑战波动率调整机制:实现风险标准化策略实施的技术细节波动率调整的战略价

Qt之QMessageBox的具体使用

《Qt之QMessageBox的具体使用》本文介绍Qt中QMessageBox类的使用,用于弹出提示、警告、错误等模态对话框,具有一定的参考价值,感兴趣的可以了解一下... 目录1.引言2.简单介绍3.常见函数4.按钮类型(QMessage::StandardButton)5.分步骤实现弹窗6.总结1.引言

Qt中Qfile类的使用

《Qt中Qfile类的使用》很多应用程序都具备操作文件的能力,包括对文件进行写入和读取,创建和删除文件,本文主要介绍了Qt中Qfile类的使用,具有一定的参考价值,感兴趣的可以了解一下... 目录1.引言2.QFile文件操作3.演示示例3.1实验一3.2实验二【演示 QFile 读写二进制文件的过程】4.

Python日期和时间完全指南与实战

《Python日期和时间完全指南与实战》在软件开发领域,‌日期时间处理‌是贯穿系统设计全生命周期的重要基础能力,本文将深入解析Python日期时间的‌七大核心模块‌,通过‌企业级代码案例‌揭示最佳实践... 目录一、背景与核心价值二、核心模块详解与实战2.1 datetime模块四剑客2.2 时区处理黄金法

Java进行日期解析与格式化的实现代码

《Java进行日期解析与格式化的实现代码》使用Java搭配ApacheCommonsLang3和Natty库,可以实现灵活高效的日期解析与格式化,本文将通过相关示例为大家讲讲具体的实践操作,需要的可以... 目录一、背景二、依赖介绍1. Apache Commons Lang32. Natty三、核心实现代

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

Pandas进行周期与时间戳转换的方法

《Pandas进行周期与时间戳转换的方法》本教程将深入讲解如何在pandas中使用to_period()和to_timestamp()方法,完成时间戳与周期之间的转换,并结合实际应用场景展示这些方法的... 目录to_period() 时间戳转周期基本操作应用示例to_timestamp() 周期转时间戳基

JavaScript时间戳与时间的转化常用方法

《JavaScript时间戳与时间的转化常用方法》在JavaScript中,时间戳(Timestamp)通常指Unix时间戳,即从1970年1月1日00:00:00UTC到某个时间点经过的毫秒数,下面... 目录1. 获取当前时间戳2. 时间戳 → 时间对象3. 时间戳php → 格式化字符串4. 时间字符