0
点赞
收藏
分享

微信扫一扫

C编程控制PC蜂鸣器

金穗_ec4b 2024-09-18 阅读 14

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的偏移量(时差)

核心信号:

信号说明
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("小时"));
}

image-20240915170408534

举报

相关推荐

0 条评论