QElapsedTimer 计时器

QElapsedTimer提供了一种计算流逝时间的便捷方法,尤其适用于测量耗时操作。它使用单调时钟,避免了时间回拨问题,且在不同平台上有多种时钟类型。常见用法包括start()、restart()和elapsed()函数,但要注意不同时钟类型的溢出和一致性问题。
摘要由CSDN通过智能技术生成

QElapsedTimer提供了一种快捷的计算流逝时间的方法。它通常被用来计算两个事件或操作之间过去了多久。并且,该类的方法非常类似于我们之前讲过的QTime类的三个计时函数,所以,我们可以很快速的在使用这两个类的代码之间进行移植。但是,不像QTime,QElapsedTimer会尽可能的使用某种单调时钟。这也就意味着,没办法将QElapsedTimer对象转换成人类可读的时间格式。

这个类的典型使用方法就是测量一个耗时操作花了多少时间。最简单的例子如下:

      QElapsedTimer timer;
      timer.start();

      slowOperation1();

      qDebug() << "The slow operation took" << timer.elapsed() << "milliseconds";
在这个例子中,我们下定义了一个QElapsedTimer的对象,然后调用它的start() 方法开始计时,完成一个耗时操作后,再调用它的elapsed() 方法,得到耗时操作所花费的具体时间,以毫秒计算。

我们也可以在一个耗时操作完成后,通过elapsed() 函数的返回值来决定下一个耗时操作可以运行的时间。这对于需要在一定的时间周期内完成几个耗时操作来说是至关重要的。比如下面代码所展现的案例:

  void executeSlowOperations(int timeout)
  {
      QElapsedTimer timer;
      timer.start();
      slowOperation1();

      int remainingTime 
  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值