Qt中利用定时器QTimer准实时显示当前日期和时间
Qt中,QDate类对应日期,QTime类对应时间。这两种类可以获取当前时间,但需要一个定时器来准实时显示当前日期和时间。
下面说明方法:
1. 在工程中声明一个全局QTimer对象
[cpp] view plain copy QTimer *timer; 2. 在构造函数中定义QTimer,并建立信号槽关系,同时设定时间启动(你也可以再其他地方启动)。
[cpp] view plain copy timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(qtimeSlot())); timer->start(1000); 这里设定1秒钟的定时器。
3. 编写显示日期和时间的槽函数
[cpp] view plain copy void myQtEx::qtimeSlot() { QTime qtimeObj = QTime::currentTime(); QString strTime = qtimeObj.toString("hh:mm:ss"); QDate qdateObj = QDate::currentDate(); QString strDate = qdateObj.toString("yyyy-MM--dd"); QString str=QString("%1 %2").arg(strDate).arg(strTime); ui->time->setText (str); } 4.在构造函数中调用一次qtimeSlot函数,用来确定第一次就显示正确时间。