【发布时间】:2014-10-08 10:29:22
【问题描述】:
使用QT Timer类计算时间并实时显示在QT标签中
【问题讨论】:
-
写一些代码是一个好的开始。
-
@user3812696 甚至开始的知识是谷歌“qt timer”。你还没有这样做。 SO 不是互联网搜索服务。在你考虑在这里问之前,你应该已经用谷歌搜索了。
使用QT Timer类计算时间并实时显示在QT标签中
【问题讨论】:
您应该使用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。
【讨论】: