FTP文件管理项目(本地云)项目日报 测试端(七)Qt定时器

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)); //上传失败
        }
    }
}

FTP文件管理项目(本地云)项目日报 测试端(七)Qt定时器_第1张图片
本界面比较简单,不够美观。

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