Qt笔记 计时器

下面介绍设计计时器的两种方法,分别是利用信号与槽来使用计时器,利用计时器事件来使用计时器。

1. 利用信号与槽来使用计时器

    //方法一(利用信号与槽来使用计时器):
    QTimer *timer = new QTimer(this);
    timer->start(1000);//周期,计时器每隔一个周期就会发出一个timeout信号;
    //每当计时器发出timeout信号时,就会触发槽;
    connect(timer, &QTimer::timeout, this, [&]{
        static int num = 0;
        ui->label->setText(QString::number(num++));
    });

使用Timer动态生成的计时器,每到周期就会发出一个timeout信号。

2.利用计时器事件来使用计时器

//在widget.h文件下,设置两个计时器的id
private:
    int time_id1;
    int time_id2;


//在widget.cpp文件的widget构造函数中
    //方法二(利用计时器事件来使用计时器):
    time_id1 = startTimer(500);//周期为500,时间到就会触发计时器事件;
    time_id2 = startTimer(2000);//第二个计时器,周期为2000ms;


//计时器事件处理函数

void Widget::timerEvent(QTimerEvent *e)
{
    if(e->timerId() == time_id1)//如果是1号计时器
    {
        static int num1 = 0;
        ui->label_2->setText(QString::number(num1++));
    }
    else if(e->timerId() == time_id2)//如果是二号计时器
    {
        static int num2 = 0;
        ui->label_3->setText(QString::number(num2++));
    }
}

使用startTimer生成的计时器会在周期结束后发出计时器事件,widget对象调用计时器处理函数来处理该计时器事件。

总结:

        感觉还是第一种方法信号与槽好用。

相关推荐

  1. Qt笔记 计时器

    2024-03-25 17:38:04       44 阅读
  2. Qt | QTimer 类(计时器)

    2024-03-25 17:38:04       39 阅读
  3. 【使用 Qt 实现计算器

    2024-03-25 17:38:04       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-25 17:38:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-25 17:38:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-25 17:38:04       82 阅读
  4. Python语言-面向对象

    2024-03-25 17:38:04       91 阅读

热门阅读

  1. Day28:学习SpringCloud

    2024-03-25 17:38:04       38 阅读
  2. 为什么大家都在推美国MSB?

    2024-03-25 17:38:04       41 阅读
  3. 编程生活day3--Left Pad、出生年

    2024-03-25 17:38:04       42 阅读
  4. 服务器如何检查端口是否被占用并杀死进程

    2024-03-25 17:38:04       41 阅读
  5. AWTK-MODBUS 服务器

    2024-03-25 17:38:04       42 阅读
  6. Redis 基础命令详解【保姆级教材】

    2024-03-25 17:38:04       52 阅读
  7. ARM的三个按键实验

    2024-03-25 17:38:04       41 阅读