方法一、
//头文件
QTimer *m_Timer;
//构造函数
m_Timer = new QTimer(this);
m_Timer->start(1000);//1秒刷新一次
QObject::connect(m_Timer,SIGNAL(timeout()),this,SLOT(upDateTimer()));
//1秒刷新调用函数
//Set timer function
void VsTestQt::upDateTimer()
{
int xCursor = m_curSor.pos().x();
int yCursor = m_curSor.pos().y();
ui.dateTimeEdit->setDateTime(QDateTime::currentDateTime());
ui.dateTimeEdit->setDisplayFormat("yyyy-MM-dd HH-mm-ss dddd");
//statuSecondLabel->setText(tr("Cursor Pos:(%1,%2)").arg(xCursor).arg(yCursor));
statuSecondLabel->setText(ui.dateTimeEdit->text());
}
方法二、
//头文件重载
void timerEvent(QTimerEvent *);
//构造函数
startTimer(1000); //其返回值为 1,即其 timerId 为 1
startTimer(5000);//其返回值为 2,即其 timerId 为 2
startTimer(10000); //其返回值为 3,即其 timerId 为 3
//重载函数调用
void MainWindow::timerEvent(QTimerEvent *t) //定时器事件
{switch(t->timerId()) //判断定时器的句柄}
{
case 1 : ui->label->setText(tr(“ 每秒产生一个随机数: %1″).arg(qrand()%10));break;
case 2 : ui->label_2->setText(tr(“5 秒后软件将关闭”));break;
case 3 : qApp->quit();break; //退出系统
}