定时器

引用头文件

#include <QTimer>

在头文件中声明定时器指针及槽函数:

private slots:
    void on_timer1_timeout();
private:
    QTimer *Timer1;

创建初始化定时器:

Timer1=new QTimer(this);
// 连接信号与槽函数
QObject::connect(Timer1,SIGNAL(timeout()),this,SLOT(on_timer1_timeout()));

// 设置超时时间(单位为ms)
Timer1->setInterval(100);
// 启动定时器
Timer1->start();

// 也可以直接调用重载的方法来设置超时时间并启动定时器
// Timer1->start(100);

槽函数实现:

void MainWindow::on_timer1_timeout()
{     
    // 获取当前时间   
    QTime t = QTime::currentTime();
    QString str;
    str.sprintf("%02d:%02d:%02d", t.hour(),t.minute(),t.second());
    // 显示
    ui->lcdNumber->display(t.toString("hh:mm:ss")); 
}

日期与时间

#include <QDate>
#include <QTime>
#include <QDateTime>

获取当前日期/时间:

QTime t = QTime::currentTime();
QDate d = QDate::currentDate();
QDateTime q = QDateTime::currentDateTime();

转换为字符串:注意月份为大写MM

str = dt.toString("hh:mm:ss"); 
str = dt.toString("yyyy-MM-dd"); 
str = dt.toString("yyyy-MM-dd hh:mm:ss"); 
 
str = t.toString(("hh:mm:ss"));
str = d.toString(("yy-MM-dd"));