当前位置: 首页 > news >正文

Qt常用控件——QDateTimeEdit

文章目录

    • 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

http://www.lryc.cn/news/438590.html

相关文章:

  • 什么是上拉,下拉?
  • 76-mysql的聚集索引和非聚集索引区别
  • 每日一题——第八十八题
  • 【创作活动】学习使用哪个编程工具让你的工作效率翻倍?
  • 基于STM32C8T6的CubeMX:HAL库点亮LED
  • 职业院校数据科学与大数据技术专业人工智能实训室建设方案
  • JavaScript网页设计案例分析
  • 2024.9.15周报
  • QT模型视图结构1
  • Ubuntu20+Noetic+cartographer_ros编译部署
  • linux-L3-linux 复制文件
  • Kotlin:1.9.0 的新特性
  • golang实现从服务器下载文件到本地指定目录
  • C++数据结构-树的概念及分类介绍(基础篇)
  • 职场 Death Note
  • Vue3.0组合式API:computed计算属性、watch监听器、watchEffect高级监听器
  • RAII 与 std::lock_guard 在 C++ 中的应用:自动化互斥锁管理与线程安全
  • 风格汇:奢华风格在UI设计中如何被定义的。
  • Vue2 qrcode+html2canvas 实现二维码的生成和保存
  • GEE 教程:利用Google Dynamic数据进行逐月指定区域的土地分类数据提取分析
  • Nginx 负载均衡:优化网站性能与可扩展性的利器
  • 【Python基础】Python错误和异常处理(详细实例)
  • 如何查看串口被哪个程序占用?截止目前最方便的方法
  • 深入理解SpringBoot(一)----SpringBoot的启动流程分析
  • MySql基础-单表操作
  • 【STM32系统】基于STM32设计的SD卡数据读取与上位机显示系统(SDIO接口驱动、雷龙SD卡)——文末资料下载
  • SpringBoot开发——整合Redis
  • OpenCV结构分析与形状描述符(17)判断轮廓是否为凸多边形的函数isContourConvex()的使用
  • P5425 [USACO19OPEN] I Would Walk 500 Miles G
  • Java高级Day41-反射入门