当前位置: 首页> 健康> 知识 > Qt常用控件——QDateTimeEdit

Qt常用控件——QDateTimeEdit

时间:2025/8/11 4:39:33来源:https://blog.csdn.net/Dirty_artist/article/details/142286429 浏览次数:0次

文章目录

    • QDateTimeEdit核心属性及信号
    • 时间计算器

QDateTimeEdit核心属性及信号

  • QDateEdit作为日期的微调框
  • QTimeEdit作为时间的微调框
  • QDateTimeEdit作为时间日期的微调框

它们的使用方式都是类似的,本篇以QDateTimeEdit作为示例

核心属性:

属性说明
dateTime时间日期的值(形如2001/09/15 17:00:00
date单纯日期的值
time单纯时间的值
displayFormat时间日期的格式,形如yyyy/M/d H:mm
y表示年
M表示月份
d表示日期
H表示小时
m表示分钟
s表示秒
**Tips:**这里的格式化符合,不同的库,设置规则可能不一样
minimumDateTime最小日期时间
maximumDateTime最大日期时间
timeSpecQt::LocalTime:显示本地时间
Qt::UTC:显示协调世界时
Qt::OffsetFromUTC:显示相当于UTC的偏移量(时差)

本地时间和协调世界时:

UTC时间是基于原子钟的标准时间,不受地球自转的影响

计算机内部使用的就是基于UTC时间

本地时间则是基于不同时区,对UTC时间做出了一些调整

核心信号:

信号说明
dateChanged(QDate)日期改变时触发
timeChanged(QTime)时间改变时触发
dateTimeChanged(QDateTime)时间日期任意一个改变时触发

时间计算器

计算机两个时间中间的间隔是多少天/小时

界面布局:

image-20240915164536845

代码示例:

#include "widget.h"
#include "ui_widget.h"
#include<QDebug>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_calc_clicked()
{//获取输入框时间QDateTime timeBegin = ui->dateTimeEdit_begin->dateTime();QDateTime timeEnd = ui->dateTimeEdit_end->dateTime();qDebug() << timeBegin << timeEnd;//计算日期差值//int days =timeBegin.daysTo(timeEnd);//秒数int seconds =timeBegin.secsTo(timeEnd);//计算日期值int days = (seconds / 3600) / 24;//秒数换算成小时int hours = (seconds / 3600) % 24;//qDebug() << days << hours;ui->label_ret->setText(QString("出生已经:") + QString::number(days) + QString("天零") + QString::number(hours) + QString("小时"));
}

QDate提供了两个函数:

  1. daysTO计算日期差值
  2. secsTo计算秒数差值

这个daysTo计算日期的时候,只有日期不一样,就会计算,不看后面的小时,例如:

2024/9/15 23:00 – > 2024/9/16 00:00,按理说是0天零1个小时,但是daysTo会计算成1天

image-20240915170408534

关键字:Qt常用控件——QDateTimeEdit

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: