【QT】时间日期与定时器

本文详细介绍了QT框架中关于时间日期的相关类,包括QTime、QDate和QDateTime,以及如何在QDateTimeEdit中进行日期时间编辑器属性设置。此外,文章还探讨了QCalendarWidget日历组件的属性、公共函数和信号,以及QTimer的使用,展示了如何创建计时器并更新界面显示。
摘要由CSDN通过智能技术生成

目录

1.时间日期相关的类

2.日期时间数据与字符串之间的转换

2.1 时间、日期编辑器属性设置

2.2 日期时间数据的获取与转换为字符串

2.3 字符串转换为日期时间

3.QCaIendarWidget日历组件

3.1基本属性

3.2 公共函数

3.3 信号

4.实例程序演示时间日期与定时器的使用

1.时间日期相关的类

时间日期是经常遇到的数据类型,Qt中时间日期类型的类如下。
  • QTime:时间数据类型,仅表示时间,如巧:23:13。
  • QDate:日期数据类型,仅表示日期,如2017一4巧。
  • QDateTime:日期时间数据类型,表示日期和时间,如2017.03一2308:12:43。
Qt中有专门用于日期、时间编辑和显示的界面组件,介绍如下。
  • QTimeEdit:编辑和显示时间的组件。
  • QDateEdit:编辑和显示日期的组件。
  • QDateTimeEdit:编辑和显示日期时间的组件。
  • QCaIendarWidget:一个用日历形式选择日期的组件。
定时器类是QTimer:
定时器是用来处理周期性事件的一种对象,类似于硬件定时器。例如设置一个定时器的定时
周期为1000亳秒,那么每1000毫秒就会发射定时器的timeout()信号,在信号关联的槽函数里就
可以做相应的处理。Qt中的定时器类是QTimer,它直接从QObject类继承而来,不是界面组件类。

2.日期时间数据与字符串之间的转换

2.1 时间、日期编辑器属性设置

QDateEdit和QTimeEdit都从QDateTimeEdit继承而来,实现针对日期或时间的特定显示功
能。实际上,QDateEdit和QTimeEdit的显示功能都可以通过QDateTimeEdit实现,只需设置好
属性即可。
QDateTimeEdit类的主要属性的介绍如下。
  • datetime:日期时间。
  • date:日期,设置datetime时会自动改变date,同样,设置date时,也会自动改变datetime
  • 里的日期。
  • time:时间,设置datetime时会自动改变time,同样,设置time时,也会自动改变datetime
  • 里的时间。
  • maximumDateTime、minimumDateTime:最大、最小日期时间。
  • maximumDate、minimumDate:」最丿(、最刁、日其月。
  • maximumTime、minimumTime:最大、最小时间。
  • currentsection:当前输入光标所在的时间日期数据段,是枚举类型QDateTimeEdit::Section。
        QDateTimeEdit显示日期时间数据时分为多个段,单击编辑框右侧的上下按钮可修改当前段的               值。如输入光标在Yearsection段,就修改“年”的值。
  • currentsectionlndex:用序号表示的输入光标所在的段。
  • calendarPopup:是否允许弹出一个日历选择框。当取值为true时,右侧的输入按钮变成与
  • QComboBox类似的下拉按钮,单击按钮时出现一个日历选择框,用于在日历上选择日期。对于QTimeEdit,此属性无效。
  • displayFormat:显示格式,日期时间数据的显示格式,例如设置为“yyyy-MM-dd HH:mm:ss”,一个日期时间数据就显示为“2016-11-02 08:23:46”。

2.2 日期时间数据的获取与转换为字符串

void Dialog::on_btnGetTime_clicked()
{
    //获取当前日期时间,为三个专用编辑器设置日期时间数据,并转换为字符串
    QDateTime curDateTime=QDateTime::currentDateTime(); //读取当前日期时间

    ui->timeEdit->setTime(curDateTime.time()); //设置时间
    ui->editTime->setText(curDateTime.toString("hh:mm:ss"));//转换为字符串显示

    ui->dateEdit->setDate(curDateTime.date());//设置日期
    ui->editDate->setText(curDateTime.toString("yyyy-MM-dd"));//转换为字符串显示

    ui->dateTimeEdit->setDateTime(curDateTime);//设置日期时间
    ui->editDateTime->setText(curDateTime.toString("yyyy-MM-dd hh:mm:ss"));//转换为字符串显示
}
QDateTIME::toString()函数的函数原型是:
QString QDateTime::toString(const QString &format) const
它将日期时间数据按照format指定的格式转换为字符串。format是一个字符串,包含一些特
定的字符,表示日期或时间的各个部分,表4-2是用于日期时间显示的常用格式符。
在设置日期时间显示字符串格式时,还可以使用填字符,甚至使用汉字。例如,日期显示格
式可以设置为:curDateTime.toString("yyyy年MM月dd日");这样得到的字符串是“2016年11月21日”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷凝女子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值