Qt使用QLCDNumber制作计时器

时间:2013-09-20 10:12:28

标签: qt timer

我正在尝试使用QLCDNumber制作两个计时器。这些计时器将作为状态栏的一部分生成,在dll中。我有两个LCDNumber显示器。 lcdNumber1将在指定时间(例如12:00:00)开始。 lcdNumber2将从0开始(例如00:00:00)。

我如何为lcdNumber2创建一个计时器并让它开始计时?

如何将lcdNumber2的计时器添加到lcdNumber1?或者,我可以为lcdNumber1创建一个计时器,以便从指定的时间开始计时吗?

有人可以帮忙吗?

QLCDNumber *lcdNumber1 = new QLCDNumber;
lcdNumber1->setNumDigits(8);
lcdNumber1->display(12:00:00);
statusBar->addWidget(lcdNumber1);

QLCDNumber *lcdNumber2 = new QLCDNumber;
lcdNumber2->setNumDigits(8);
lcdNumber2->display(00:00:00);
statusBar->addWidget(lcdNumber2);

1 个答案:

答案 0 :(得分:2)

继承QLCDNumber,添加变量时间以保存当前时间和另一个时隙tick()

QLCDNumber_my::tick(){
   time++;
   this->display(time);
}

然后

QLCDNumber_my *lcdNumber1 = new QLCDNumber_my;
lcdNumber1->setNumDigits(8);
lcdNumber1->display(12:00:00);
statusBar->addWidget(lcdNumber1);
QTimer *timer = new QTimer(this);
timer->start(1000);
connect(timer, SIGNAL(timeout()), lcdNumber1, SLOT(tick()));

QLCDNumber是简单的显示小部件,它无法运行,产生时间变化需要使用sepatare timer(QTimer)。