在我的一个项目中,我正在与QTimer一起工作,我想知道是否有可能获取QTimer的剩余时间以使用户知道“直到下一次超时的时间:10秒”或类似的东西?那可能吗?如果不是这样,那么有没有人对如何实现这一点有好主意呢?

也许我必须编写自己的计时器...

最佳答案

这是你想要的 ? QTimer::elapsed()使用计算机时钟,因此取决于您的平台,准确性会有所不同。

class MyTimer : QTimer
{
    MyTimer(QObject* parent) : QTimer(parent)
    {
      connect(this, timeout(), this, resettime());
    }

    int start()
    {
      m_time.start();
      return QTimer::start();
    }

    int start(int msec)
    {
      m_time.start();
      return QTimer::start(msec)l
    }


    int timeLeft()
    {
      return interval()-m_time.elapsed()
    }

  private slots:

    void resettime()
    {
      m_time.restart();
    }

  private:
    QTime m_time;
}

关于qt - QTimer的剩余时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2697157/

10-12 21:34