您当前的位置: 首页 >  qt

wendy_ya

暂无认证

  • 7浏览

    0关注

    342博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Qt实战案例(59)——利用QTimer类实现定时器功能

wendy_ya 发布时间:2022-09-20 21:16:30 ,浏览量:7

目录
    • 一、项目介绍
    • 二、项目基本配置
    • 三、UI界面设置
    • 四、主程序实现
      • 4.1 widget.h头文件
      • 4.2 widget.cpp源文件
    • 五、效果演示

一、项目介绍

本文介绍利用QTimer类实现定时器的定时功能。

QTimer还提供了一个简单的只有一次定时的函数singleShot()。一个定时器在100ms后触发处理函数animateTimeout()并且只触发一次。代码如下:

QTimer::singleShot( 100,this, SLOT(animateTimeout()) );
二、项目基本配置

新建一个Qt案例,项目名称为“TimeTest”,基类选择“QWidget”,取消选中创建UI界面复选框,完成项目创建。

三、UI界面设置

UI界面如下:

无UI界面

四、主程序实现 4.1 widget.h头文件

声明公共变量和私有槽函数:

public:
    QTimer *testTimer;
    int i=1;
private slots:
    void testFunction();
4.2 widget.cpp源文件

在构造函数中创建定时器,并将定时器超时信号和槽联系起来,并且开始运行定时器:

    //创建定时器
    testTimer = new QTimer(this);
    //将定时器超时信号与槽(功能函数)联系起来
    connect( testTimer,SIGNAL(timeout()), this, SLOT(testFunction()) );
    //开始运行定时器,定时时间间隔为1000ms
    testTimer->start(1000);

在析构函数中停止运行定时器:

    //停止运行定时器
    if (testTimer->isActive() )
        testTimer->stop();

定义槽函数:

void Widget::testFunction()
{
    qDebug("timer event %d",i++);
}
五、效果演示

完整效果如下: 在这里插入图片描述

如果没有看懂的话,完整代码可以参考:https://download.csdn.net/download/didi_ya/86587478

ok,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~

关注
打赏
1659256378
查看更多评论
立即登录/注册

微信扫码登录

0.0447s