Qt笔记之计时器

private slots: void timeUpDate();


头文件中加入如上,实现文件中加入

#include <Qtcore>

构造函数中加入


QTimer *time=new Qtimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(timeUpDate));
timer->setStart(1000);


void timeUpDate()
{
    QDateTime time=QDateTime::currentDatetime;
    QString stime=time.toString("yyyy-MM-dd hh:mm:ss dddd");
    ui->label->setText(stime);
}

方法二

mian.cpp中加入如下:

 #include <QTextCodec>

构造函数中:

 QTextCodec::SetCodecForTr(QTextCodec::CodecForLocal());
qsrand(time(0));
在mianwindow.h中加入:

 void timerEvent(QTimerEvent ")

其定义为

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; //退出系统
     } 
}


在实现头文件的文件中:

#include <QtCore>

构造函数中:

startTimer(1000); //其返回值为1,即其timerId为1
startTimer(5000);//其返回值为2,即其timerId为2
startTimer(10000); //其返回值为3,即其timerId为3


你可能感兴趣的:(timer,qt,Signal)