如何在c ++中制作基于计时器的测验管理系统

时间:2014-10-08 10:29:22

标签: c++ qt timer

我正在尝试制作一个测验管理系统,基本上在哪个程序给用户一些问题,并且每个问题必须在一定的时间限制内回答。让我们说每个问题1分钟。

时间必须连续显示,当时间超过一分钟时,用户可以回答下一个问题。

我正在使用QT中的GUI。

问题是 如何制作计时器然后在此程序中使用它?

1 个答案:

答案 0 :(得分:3)

您应该使用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,如我在示例中所示。您可以轻松实现下一个美丽的结果(如下所示):

enter image description here

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

QLCDNumberQTimer