【问题标题】:How to calculate time using QT timer class [closed]如何使用 QT 计时器类计算时间 [关闭]
【发布时间】:2014-10-08 10:29:22
【问题描述】:

使用QT Timer类计算时间并实时显示在QT标签中

【问题讨论】:

  • 写一些代码是一个好的开始。
  • @user3812696 甚至开始的知识是谷歌“qt timer”。你还没有这样做。 SO 不是互联网搜索服务。在你考虑在这里问之前,你应该已经用谷歌搜索了。

标签: c++ qt timer


【解决方案1】:

您应该使用QTimer 类。

将超时信号连接到您将处理数据的插槽。

在构造函数中:

QTimer *timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(echo()));
timer->start(990);

插槽。这只是示例,您应该提供您的具体代码。

void MainWindow::echo()
{
    intervalSec = intervalSec - 1;
    if (intervalSec == -1)
    {
        intervalSec = 60 - 1;
        //time is up
    }
    int min,sec;
    min = intervalSec/60;
    sec = intervalSec%60;

    ui->lcdNumber->display(QString::number(min)+":"+QString::number(sec));

}

您可以使用QLabel 来显示时间或使用更漂​​亮的小部件QLCDNumber,如我在示例中所示。您可以轻松实现下一个漂亮的结果(像这样):

不要以为我计算时间的方法是最好的。我使用了变量,但你可以使用特殊类QTime

QLCDNumber, QTimer

【讨论】:

  • 嘿切尔诺贝利,非常感谢,我不知道 QT 有这个时间库要求:) p.s 我纯粹是在搜索如何使用 c++ 库和一些相关文章让我进入多任务和多线程概念,我对此一无所知
  • @user3812696 不客气。如果你在 Qt 工作,首先检查 Qt 文档,因为 Qt 是跨平台的,并且文档包含很多有用的信息。比如用clear WinAPI写的定时器,在Linux上就不行了等等。
  • @切尔诺贝利,我知道你... :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 2010-10-16
相关资源
最近更新 更多