欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 「QT」基础数据类 之 QTime 时间数据类

「QT」基础数据类 之 QTime 时间数据类

2025/11/5 15:48:31 来源:https://blog.csdn.net/qq_49443542/article/details/143731628  浏览:    关键词:「QT」基础数据类 之 QTime 时间数据类

在这里插入图片描述

✨博客主页
何曾参静谧的博客
📌文章专栏
「QT」QT5程序设计
📚全部专栏
「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合
「C/C++」C/C++程序设计「DSA」数据结构与算法「UG/NX」NX二次开发
「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制开发
「Py」Python程序设计「Math」探秘数学世界「PK」Parasolid函数说明

目录

    • Qt 5.15中的QTime类详解
      • 一、类的引言
      • 二、使用范围
      • 三、类的头文件
      • 四、类的继承
      • 五、类的构造介绍
      • 六、公有函数介绍
      • 七、Static函数介绍
      • 八、运算符重载
      • 九、详细代码举例

Qt 5.15中的QTime类详解

一、类的引言

QTime类是Qt框架中用于表示和操作一天中具体时间(小时、分钟、秒、毫秒)的一个类。它提供了丰富的功能,如时间比较、时间加减、时间格式化等。QTime类与QDate和QDateTime类有所不同,它不处理日期或时区相关的信息,专注于一天内的时间处理。

二、使用范围

QTime类通常用于计算时间间隔、记录时间戳、获取当前时间等。它不与Qt的事件循环绑定,因此不适合用于实现定时功能。相反,QTimer类更适合用于定时操作。

三、类的头文件

要使用QTime类,需要在代码中包含其头文件:

#include <QTime>

四、类的继承

QTime类继承自QObject的基类(间接),但不直接继承自QObject。它位于Qt Core模块中,因此在项目的.pro文件中需要添加:

QT += core

五、类的构造介绍

QTime类提供了多种构造函数,用于创建QTime对象:

  1. 默认构造函数QTime() 创建一个空时间对象。
  2. 指定时间构造函数QTime(int h, int m, int s = 0, int ms = 0) 创建一个指定的小时、分钟、秒和毫秒的时间对象。

六、公有函数介绍

QTime类提供了丰富的公有函数,用于时间的获取、设置和操作:

  1. 时间获取函数

    • int hour() const:返回时间的小时部分(0-23)。
    • int minute() const:返回时间的分钟部分(0-59)。
    • int second() const:返回时间的秒部分(0-59)。
    • int msec() const:返回时间的毫秒部分(0-999)。
  2. 时间设置函数

    • bool setHMS(int h, int m, int s, int ms = 0):设置时间的小时、分钟、秒和毫秒。
  3. 时间操作函数

    • QTime addSecs(int s) const:返回一个新的QTime对象,时间比原对象晚s秒。
    • QTime addMSecs(int ms) const:返回一个新的QTime对象,时间比原对象晚ms毫秒。
    • int secsTo(const QTime &t) const:返回从当前时间到t的秒数。
    • int msecsTo(const QTime &t) const:返回从当前时间到t的毫秒数。
  4. 时间比较函数
    QTime类提供了一整套运算符来比较两个QTime对象,如<<=>>===!=

  5. 时间格式化函数

    • QString toString(const QString &format) const:将时间对象转换为指定格式的字符串。
    • QString toString(QStringView format) const:同上,但使用QStringView作为参数。
  6. 其他函数

    • bool isNull() const:检查时间对象是否为空。
    • bool isValid() const:检查时间对象是否有效。
    • int msecsSinceStartOfDay() const:返回从一天开始以来的毫秒数。

七、Static函数介绍

QTime类提供了几个静态函数,用于获取当前时间或进行其他与时间相关的操作:

  1. currentTimestatic QTime currentTime() 返回表示系统当前时间的QTime对象。

八、运算符重载

QTime类重载了比较运算符(<<=>>===!=)和赋值运算符(=),使得QTime对象可以方便地进行比较和赋值操作。

九、详细代码举例

以下是一个使用QTime类的示例程序,演示了如何获取当前时间、计算时间差以及格式化时间输出:

#include <QCoreApplication>
#include <QTime>
#include <QDebug>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 获取当前时间QTime startTime = QTime::currentTime();qDebug() << "开始时间:" << startTime.toString("hh:mm:ss.zzz");// 模拟一些耗时操作QThread::sleep(2); // 休眠2秒// 获取结束时间QTime endTime = QTime::currentTime();qDebug() << "结束时间:" << endTime.toString("hh:mm:ss.zzz");// 计算耗时int elapsed = startTime.msecsTo(endTime);qDebug() << "耗时:" << elapsed << "毫秒";return a.exec();
}

在这个示例中,我们首先使用QTime::currentTime()获取当前时间,然后模拟一个耗时操作(休眠2秒),最后再次获取当前时间并计算时间差。时间格式化为"hh:mm:ss.zzz"格式输出。

通过以上介绍,相信你已经对Qt 5.15中的QTime类有了全面的了解。QTime类提供了强大的时间处理功能,使得在Qt应用程序中处理时间变得简单而高效。


在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词