QT定时器
1.时间日期是经常遇到的数据类型,Qt 中时间日期类型的类如下:
QTime:时间数据类型,仅表示时间,如15:23:13。
QDate:日期数据类型,仅表示日期,如2017-4-5。
QDateTime:日期时间数据类型,表示日期和时间,如2017-03-23 08:12:43。
2.定时器代码
//创建定时器对象
timer=new QTimer(this);
//连接定时器信号与槽
connect(timer,SIGNAL(timeout()),this,SLOT(函数));
//设置定时器时间并启动
timer->start(2000);//定时2s
3.我的代码(1s更新显示内容)
QTimer *ti = new QTimer(this);
connect(ti, SIGNAL(timeout()), this, SLOT(timeout_done()));
ti->start(1000);//1s
void CTestReport::timeout_done()
{
CGlobal glob;
if(glob.isTesting == true)
{
Edit[0]->setText(QString::number(glob.connectNum, 10)); //连接数
Edit[1]->setText(QString::number(++pastTime, 10)); //已测试时间
Edit[2]->setText(QString::number(glob.sendPackNum, 10)); //发送包
Edit[3]->setText(QString::number(glob.sucUploadNum, 10)); //上传成功
Edit[4]->setText(QString::number(glob.loginNum, 10)); //成功登录
Edit[5]->setText(QString::number(--restTime, 10)); // 剩余时间
Edit[6]->setText(QString::number(glob.recvPackNum, 10)); //接受包
Edit[7]->setText(QString::number(glob.failUploadNum, 10)); //上传失败
if(restTime == 0)
{
glob.isTesting = false;
usleep(100000);
Edit[2]->setText(QString::number(glob.sendPackNum, 10)); //发送包
Edit[3]->setText(QString::number(glob.sucUploadNum, 10)); //上传成功
Edit[4]->setText(QString::number(glob.loginNum, 10)); //成功登录
Edit[6]->setText(QString::number(glob.recvPackNum, 10)); //接受包
Edit[7]->setText(QString::number(glob.failUploadNum, 10)); //上传失败
}
}
}
本界面比较简单,不够美观。