因此,我在找到了這裏有一些東西,我想了解它是如何工作的。在Qt中製作倒數計時器
#ifndef LCDNUMBER_H
#define LCDNUMBER_H
#include <QLCDNumber>
#include <QTimer>
#include <QTime>
#include <iostream>
class lcdDisplay : public QLCDNumber
{
Q_OBJECT
public:
// The QTimer class provides repetitive and single-shot timers.
QTimer* objTimer;
// The QTime class provides clock time functions.
QTime* objTime;
public:
lcdDisplay (QWidget *parentWidget, int minutes, int seconds)
{
objTimer = new QTimer();
// Setting our own time with the specified hours, minutes, and seconds.
objTime = new QTime (0, minutes, seconds);
setParent (parentWidget);
// connect (objectA, signalAFromObjectA, objectB, slotAFromObjectB)
// timeout(): This signal is emitted when the timer times out. The time out period can be specified with `start (int milliseconds)` function.
QObject :: connect (objTimer, SIGNAL (timeout()), this, SLOT (setDisplay()));
};
~ lcdDisplay() {};
public slots:
// This slot is called after the timer timeouts (1 second).
void setDisplay()
{
std::cout << "\nf,gfd,mgnfdm,gnf,\n";
//
objTime->setHMS (0, objTime->addSecs (-1).minute(), objTime->addSecs (-1).second());
display (objTime->toString());
};
};
#endif
我希望瞭解這一行:objTime->setHMS (0, objTime->addSecs (-1).minute(), objTime->addSecs (-1).second());
這是如何降低分秒內部?
從這裏:http://doc.qt.nokia.com/4.7/qtime.html#addSecs
QTIME N(14,0,0); // n == 14:00:00
QTime t;
t = n.addSecs(70); // t == 14:01:10
t = n.addSecs(-70); // t == 13:58:50
addSecs
函數可能會增加或減少秒。精細。但是這樣做objTime->addSecs (-1).minute(),
?
setHMS
如何工作?
已編輯該問題。 – 2012-02-14 07:36:45