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.mzph.cn/diannao/53998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 在WPF中实现图表生成

在现代应用程序中,数据可视化是一个重要的功能,它可以帮助用户更直观地理解数据。在C# WPF(Windows Presentation Foundation)中,有多种方式可以生成图表。以下是五种常见的方法,每种方法都有其独特的优势和局限。 1. 使用System.Windows.Shapes命名空间 代码示例: &…

【CSS】样式水平垂直居中

行内元素&#xff1a; 如果被设置元素为文本、图片等行内元素时&#xff0c;水平居中是通过给父元素设置 text-align:center <body> <div class"txtCenter">我想要在父容器中水平居中显示。</div> </body>div是文本元素的父元素 因此我们对…

【秒达开源】多功能中文工具箱源码:自部署 全开源 轻量级跨平台 GPT级支持+高效UI+Docker

【秒达开源】多功能中文工具箱源码发布&#xff1a;自部署、全开源、轻量级跨平台&#xff0c;GPT级支持高效UI&#xff0c;Docker/便携版任选&#xff0c;桌面友好丰富插件生态 这是一款集大成之作&#xff0c;专为追求高效与便捷的用户量身打造。它不仅支持完全自部署&#…

Nginx节点健康检查与自动上下线管理脚本,推送告警到企业微信

文章目录 案例:Linux 定时任务调取脚本执行场景说明告警脚本(text)check_nginx_tcp_up.shcheck_nginx_tcp_up.logcheck_nginx_tcp_up_run.shcheck_nginx_tcp_up_run.log告警效果案例:Linux 定时任务调取脚本执行 由于需求是每 2 秒执行一次,但 Linux 定时任务最小单位是分…

远程访问电脑共享文件

远程访问电脑共享文件&#xff0c;可以通过多种方法实现&#xff0c;每种方法都有其特点和适用场景。以下是一些常见的方法及其步骤&#xff1a; 一、使用Microsoft远程桌面 启用远程桌面&#xff1a; 在目标电脑上&#xff0c;打开“开始”菜单&#xff0c;选择“设置”>“…

教育培训小程序开发,简单实用的入门指南

教育培训小程序可以帮助教育机构和个人老师提供更灵活的在线教学服务&#xff0c;满足学生的学习需求。对于初学者来说&#xff0c;开发一个功能齐全的教育培训小程序并不复杂&#xff0c;只需掌握一些基础的开发知识和工具即可。本文将带你了解如何使用微信小程序开发工具&…

5-【JavaWeb】JUnit 单元测试及JUL 日志系统

1. 使用 JUnit 进行单元测试 JUnit 是 Java 中非常流行的单元测试框架&#xff0c;MyBatis 与 JUnit 可以很好地结合&#xff0c;来测试持久层代码的正确性。 1.1 添加 JUnit 依赖 在使用 JUnit 之前&#xff0c;需要在 pom.xml 中引入 JUnit 依赖。 <dependency><…

SpringBoot开发——使用@Slf4j注解实现日志输出

文章目录 1、Lombok简介2、SLF4J简介3、实现步骤3.1 创建SpringBoot项目3.2 添加依赖3.3 使用 Slf4j 注解3.4 输出日志信息 4、结论 在现代Java开发中&#xff0c;日志记录是至关重要的。它不仅帮助开发者调试代码&#xff0c;还便于监控系统运行状态和性能。 Lombok 和 SLF4J …

【Android】Room—数据库的基本操作

引言 在Android开发中&#xff0c;数据持久化是一个不可或缺的部分。随着应用的复杂度增加&#xff0c;选择合适的数据存储方式变得尤为重要。Room数据库作为Android Jetpack架构组件之一&#xff0c;提供了一种抽象层&#xff0c;使得开发者能够以更简洁、更安全的方式操作SQ…

快速搭建最简单的前端项目vue+View UI Plus

1 引言 ‌‌Vue是一套用于构建Web前端界面的渐进式JavaScript框架。‌‌它以其易学易用、性能出色、灵活多变而深受开发者喜爱&#xff0c;并且与其他前端框架&#xff08;如‌React和‌Angular&#xff09;相比&#xff0c;在国内市场上受到了广泛的认可和使用。点击进入官方…

vue3嵌套路由无法显示子路由组件的解决方法

路由嵌套的问题&#xff1a; vue3前端开发中&#xff0c;在使用嵌套路由来设计二级目录或多级目录后&#xff0c;使用RouterLink标签和RouterView标签来渲染时显示的有可能是上一级的目录指向的vue组件&#xff0c;而无法显示子路由指向的组件的内容&#xff0c;这是为什么呢&…

AI问答-HTTP:理解 Content-Disposition

一、简介 Content-Disposition是HTTP协议中的一个响应头字段&#xff0c;它主要用于指示如何处理响应的内容以及如何呈现给用户。这个字段是MIME协议类型的扩展&#xff0c;用于指导MIME用户代理&#xff08;如浏览器&#xff09;如何显示附加的文件。Content-Disposition的主…

C++:opencv生成结构元素用于膨胀腐蚀等cv::getStructuringElement

cv::getStructuringElement 是 OpenCV 库中用于生成结构元素的函数。结构元素在形态学操作中&#xff08;如膨胀、腐蚀、开运算、闭运算等&#xff09;扮演着关键角色。这个函数可以创建不同形状和尺寸的结构元素&#xff0c;以适应不同的图像处理需求。 函数原型 cv::Mat cv…

yolo自动化项目实例解析(二)ui页面整理

我们在上一章整理main.py 的if __name__ __main__: 内容还留下面这一段&#xff0c; app QApplication(sys.argv) # 初始化Qt应用ratio screen_width / 2560 # 分辨率比例# 设置全局字体大小# 计算字体大小base_font_size 13# 基准字体大小&#xff0c;适合1920*1080分辨…

【数据结构与算法 | 灵神题单 | 合并链表篇】力扣2, 21, 445, 2816

1. 力扣2&#xff1a;两数相加 1.1 题目&#xff1a; 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可…

vue3 +百度地图 实现 地点检索,输入联想,经纬度,逆地理编码,创建标记,label等

由于百度地图文档确实有点欠缺&#xff0c;在这里记录一下 vue3 百度地图&#xff08;js api 3.0&#xff09;实现效果如下实现方式注意事项 vue3 百度地图&#xff08;js api 3.0&#xff09; 需求&#xff1a; 地图弹框组件&#xff0c;可以搜索地图点&#xff0c;输入联想…

尚品汇-订单拆单、支付宝关闭交易、关闭过期订单整合(五十)

目录&#xff1a; &#xff08;1&#xff09;拆单接口 &#xff08;2&#xff09;取消订单业务补充关闭支付记录 &#xff08;3&#xff09;支付宝关闭交易 &#xff08;4&#xff09;查询支付交易记录 &#xff08;5&#xff09;PaymentFeignClient 远程接口 &#xff08…

指针与函数传递

title: 指针与函数传递 date: 2024-09-14 21:33:51 description: 函数传递多个元素 tags: c language skaiuijing 理解指针 很多人经常使用指针&#xff0c;看到这个标题可能不屑一顾。但笔者想说&#xff0c;把指针当作理所当然而不去探索它的本质&#xff0c;这是不对的。…

Go语言错误处理详解

Go语言以其简洁、高效和并发能力著称。在实际开发中&#xff0c;错误处理是一个不可避免且至关重要的部分。本文将深入探讨Go语言中的错误处理机制&#xff0c;涵盖其原理、使用方法、最佳实践&#xff0c;并提供丰富的代码示例和中文注释。 一、错误处理的基本概念 在Go语言…

7. 探究模型参数与显存的关系以及不同精度造成的影响

这篇文章将探讨两个重点&#xff1a; 模型参数与显存&#xff08;GPU 内存&#xff09;之间的关系不同精度的导入方式&#xff0c;以及它们对显存和性能的影响 理解这些概念会让你在模型的选择上更加游刃有余。 文章目录 模型参数与显存的关系模型参数量与内存占用GPU 显存需求…