QT定时器

定时器1

	3.1	利用事件void timerEvent(QStimerEvent *ev);
	3.2	启动定时器	    startTimer(1000);毫秒单位
	3.3 timerEvent的返回值是定时器的唯一标示,可以和ev->timerid做比较。
//widget.cpp


#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    //启动定时器
    //参数1 间隔  单位毫秒
    id1=startTimer(1000);
    id2=startTimer(2000);


}

void Widget::timerEvent(QTimerEvent*ev)
{
    if(ev->timerId()==id1)
    {
    static int num1=1;
    ui->label_2->setText(QString::number(num1++));
    }
    if(ev->timerId()==id2)
    {
    static int num2=1;
    ui->label_3->setText(QString::number(num2++));
    }

}

Widget::~Widget()
{
    delete ui;
}
//widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();


    //重写定时器事件
    void timerEvent(QTimerEvent *);

    int id1;
    int id2;

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

## 

定时器2

1 利用定时器类QTimer
2 创建定时器对象QTimer*timer =new Qtimer(this)
3 启动定时器 timer->start(毫秒)
4 每隔一定毫秒,发送信号,timerout ,进行监听
5 暂停用stop

#include<QTimer>//定时器的类
/....
....
....
/
    //定时器的第二种方式
    QTimer *timer=new QTimer(this);
    //启动定时器
    timer->start(500);//毫秒

    connect(timer,&QTimer::timeout,[=](){
        static int num1=1;
        ui->label_4->setText(QString::number(num1++));
    });


    //点击暂停按钮,实现停止定时器
    connect(ui->btn,&QPushButton::clicked,[=]{
        timer->stop();
    });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值