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

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

批处理以当前时间为文件名创建文件

批处理以当前时间为文件名创建文件 批处理创建空文件 有时候,需要创建以当前时间命名的文件,手动输入当然可以,但是有更省心的方法吗? 假设我是 windows 操作系统,打开命令行。 输入以下命令试试: echo %date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%_%time:~6,2% 输出类似: 2019_06

【QT】基础入门学习

文章目录 浅析Qt应用程序的主函数使用qDebug()函数常用快捷键Qt 编码风格信号槽连接模型实现方案 信号和槽的工作机制Qt对象树机制 浅析Qt应用程序的主函数 #include "mywindow.h"#include <QApplication>// 程序的入口int main(int argc, char *argv[]){// argc是命令行参数个数,argv是

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

【MRI基础】TR 和 TE 时间概念

重复时间 (TR) 磁共振成像 (MRI) 中的 TR(重复时间,repetition time)是施加于同一切片的连续脉冲序列之间的时间间隔。具体而言,TR 是施加一个 RF(射频)脉冲与施加下一个 RF 脉冲之间的持续时间。TR 以毫秒 (ms) 为单位,主要控制后续脉冲之前的纵向弛豫程度(T1 弛豫),使其成为显著影响 MRI 中的图像对比度和信号特性的重要参数。 回声时间 (TE)

Python QT实现A-star寻路算法

目录 1、界面使用方法 2、注意事项 3、补充说明 用Qt5搭建一个图形化测试寻路算法的测试环境。 1、界面使用方法 设定起点: 鼠标左键双击,设定红色的起点。左键双击设定起点,用红色标记。 设定终点: 鼠标右键双击,设定蓝色的终点。右键双击设定终点,用蓝色标记。 设置障碍点: 鼠标左键或者右键按着不放,拖动可以设置黑色的障碍点。按住左键或右键并拖动,设置一系列黑色障碍点

使用Qt编程QtNetwork无法使用

使用 VS 构建 Qt 项目时 QtNetwork 无法使用的问题 - 摘叶飞镖 - 博客园 (cnblogs.com) 另外,强烈建议在使用QNetworkAccessManager之前看看这篇文章: Qt 之 QNetworkAccessManager踏坑记录-CSDN博客 C++ Qt开发:QNetworkAccessManager网络接口组件 阅读目录 1.1 通用API函数

LeetCode:64. 最大正方形 动态规划 时间复杂度O(nm)

64. 最大正方形 题目链接 题目描述 给定一个由 0 和 1 组成的二维矩阵,找出只包含 1 的最大正方形,并返回其面积。 示例1: 输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4 示例2: 输入: 0 1 1 0 01 1 1 1 11 1 1 1 11 1 1 1 1输出: 9 解题思路 这道题的思路是使用动态规划