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 | 最大日期时间 |
timeSpec | Qt::LocalTime :显示本地时间Qt::UTC :显示协调世界时Qt::OffsetFromUTC :显示相当于UTC的偏移量(时差) |
核心信号:
信号 | 说明 |
---|---|
dateChanged(QDate) | 日期改变时触发 |
timeChanged(QTime) | 时间改变时触发 |
dateTimeChanged(QDateTime) | 时间日期任意一个改变时触发 |
时间计算器
计算机两个时间中间的间隔是多少天/小时
界面布局:
代码示例:
#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("小时"));
}