Qt中三种定时器的触发方式

定时器QTimer控件

  • 定时器触发方式3种
    • 所需api资料
  • 1、定时器事件 触发
    • 案例1:定时器事件
    • 案例2:同时启动多个定时器
  • 2、定时器对象 触发
    • 案例3:通过定时器对象 定时
  • 3、静态成员函数 触发
    • 案例4:通过静态成员函数singleShot 实现延时的功能

Qt中三种定时器的触发方式_第1张图片

定时器触发方式3种

所需api资料

Qt中三种定时器的触发方式_第2张图片
Qt中三种定时器的触发方式_第3张图片
启动器定时器:
Qt中三种定时器的触发方式_第4张图片
Qt中三种定时器的触发方式_第5张图片

1、定时器事件 触发

案例1:定时器事件

在widget.h中声明
Qt中三种定时器的触发方式_第6张图片
在widget.cpp中实现:

//重写定时器事件
void Widget::timerEvent(QTimerEvent *e)
{
    static int time = 0;
    ui->label->setText(QString::number(time++));
}

在widget的构造函数中 启动定时器事件:
Qt中三种定时器的触发方式_第7张图片
运行结果:
Qt中三种定时器的触发方式_第8张图片

案例2:同时启动多个定时器

Qt中三种定时器的触发方式_第9张图片
在widget.h文件的类中定义 两个定时器id 存放各自定时id
Qt中三种定时器的触发方式_第10张图片
在widget.h中声明定时器事件
Qt中三种定时器的触发方式_第11张图片
在widget.cpp中实现定时器事件函数
Qt中三种定时器的触发方式_第12张图片
在widget.cpp的构造函数中 开启两个定时器
Qt中三种定时器的触发方式_第13张图片
运行结果:
Qt中三种定时器的触发方式_第14张图片

2、定时器对象 触发

案例3:通过定时器对象 定时

Qt中三种定时器的触发方式_第15张图片
Qt中三种定时器的触发方式_第16张图片
widget.cpp的构造函数中
Qt中三种定时器的触发方式_第17张图片
运行结果:
Qt中三种定时器的触发方式_第18张图片

3、静态成员函数 触发

案例4:通过静态成员函数singleShot 实现延时的功能

Qt中三种定时器的触发方式_第19张图片
在widget.cpp的构造函数中:
Qt中三种定时器的触发方式_第20张图片
运行结果:
Qt中三种定时器的触发方式_第21张图片

你可能感兴趣的:(Qt,qt,c++,定时器)