Bootstrap

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Date/Time Edit的使用及说明


  • 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

Qt常用控件 | 输入类控件 | Spin Box的使用及说明

文章编号:Qt 学习笔记 / 32


一、QDateTimeEdit介绍

1. 简介

QTimeEdit 作为时间的微调框.
QDateEdit 作为日期的微调框.
QDateTimeEdit 作为时间日期的微调框.
允许用户输入日期和时间,并提供了可视化的日历和时钟部件,方便用户选择日期和时间。它可以显示日期、时间或日期时间,具体取决于设置的格式。
在这里插入图片描述

2. 核心属性及说明

属性说明
dateTime时间日期的值. 形如 2000/1/1 0:00:00
date单纯日期的值. 形如 2001/1/1
time单纯时间的值. 形如 0:00:00
displayFormat时间日期格式. 形如 yyyy/M/d H:mm
• y 表示年份
• M 表示⽉份
• d 表示日期
• H 表示⼩时
• m 表示分钟
• s 表示秒
注意: 这⾥的格式化符号的含义, 不要记忆. 不同语⾔/库的设定规则是存在差异的. ⼀定是⽤的时候再去查.
minimumDateTime最小时间日期
maximumDateTime最大时间日期
timeSpec• Qt::LocalTime :显示本地时间。
• Qt::UTC :显示协调世界时(UTC)。
• Qt::OffsetFromUTC :显示相对于UTC的偏移量(时差).

3. 核心信号及说明

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

二、QDateTimeEdit的使用(代码示例)

1. 实现日期计算器

  1. 在界⾯上创建两个 QDateTimeEdit 和⼀个按钮, ⼀个 label
    在这里插入图片描述
  2. 进行编写生成的按钮槽函数

使用daysTo函数来计算两个日期的天数
使用 secsTo 函数可以计算两个时间的秒数.
通过 (秒数 / 3600) 换算成⼩时数,再余上 24 得到零⼏个⼩时.
使用 QString::number 把整数转成 QString 进⾏拼接.

void Widget::on_pushButton_clicked()
{
    // 获取到两个时间框的时间⽇期
    QDateTime timeOld=ui->dateTimeEdit->dateTime();
    QDateTime timeNew=ui->dateTimeEdit_2->dateTime();
    //计算日期差
    int days=timeOld.daysTo(timeNew);
    int hours=(timeOld.secsTo(timeNew)/3600)%24;
    //设置label标签内容
    QString text=QString("间隔 ")+QString::number(days)+QString(" 天零 ")+ QString::number(hours) + QString(" 个小时!");
    ui->label->setText(text);
}
  1. 运行代码,查看结果
    在这里插入图片描述

在这里插入图片描述

;