我正在尝试使用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);
答案 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)。