zoukankan      html  css  js  c++  java
  • qt5--定时器

    定时器方式一:----定时器事件

    需要     #include <QTimerEvent>

    #include "win.h"
    #include <QDebug>
    #include <QPushButton>
    
    
    Win::Win(QWidget *parent)
        : QWidget(parent)
    {
        this->resize(500,400);
        this->setWindowTitle("定时器");
        this->move(700,100);
    
        QPushButton* btn=new QPushButton("按钮",this);
        btn->move(400,350);
        connect(btn,&QPushButton::clicked,this,&Win::A);
    
        label=new QLabel("标签标签",this);
        label->move(10,10);
        label->resize(200,50);
        label->setFrameShape(QFrame::Box);
    
        label1=new QLabel("标签1",this);
        label1->move(10,70);
    
        ID=startTimer(1000);//启动定时器事件,创建一个定时器并返回定时器ID
        //参数:单位毫秒---每隔n毫秒时间,就执行一次定时器事件
        //返回值:定时器ID号
        ID1=startTimer(2000);
    
    
    }
    void Win::timerEvent(QTimerEvent *e){
        static int i,j=0;
        if(e->timerId()==ID){    //如果定时号是ID
            label->setText(QString::number(i++));
        }
        if(e->timerId()==ID1){
            label1->setText(QString::number(j++));
        }
    
    
    
    }
    
    Win::~Win()
    {
    
    }
    
    
    void Win::A(){
    
    }

    定时器方式二:----QTimer类--推荐

    需要   #include <QTimer>

    #include "win.h"
    #include <QDebug>
    #include <QPushButton>
    
    
    Win::Win(QWidget *parent)
        : QWidget(parent)
    {
        this->resize(500,400);
        this->setWindowTitle("定时器");
        this->move(700,100);
    
        QPushButton* btn=new QPushButton("按钮",this);
        btn->move(400,350);
        connect(btn,&QPushButton::clicked,this,&Win::A);
    
        label=new QLabel("标签标签",this);
        label->move(10,10);
        label->resize(200,50);
        label->setFrameShape(QFrame::Box);
    
        label1=new QLabel("标签1",this);
        label1->move(10,70);
    
        timer1=new QTimer(this);  //创建定时器对象
        timer1->start(500);  //启动定时器
        //参数:每个n毫秒发送信号(timeout),单位:毫秒
        connect(timer1,&QTimer::timeout,[=](){
            static int i=0;
            label->setText(QString::number(i++));
        });  //信号连接函数
        //QTimer::timeout  时间到信号
    
        //timer1->stop();//定时器停止
    
    
    }
    
    
    Win::~Win()
    {
    
    }
    
    
    void Win::A(){
    
    }

  • 相关阅读:
    WPF GridControl单元格值与过滤值相同时,改变单元格背景色
    WPF 新手引导
    WPF 使用QRCoder生成二维码
    WPF MaterialDesignInXamlToolkit锁屏恢复后页面冻结的问题
    MVVM Caliburn.Micro学习记录
    手机分辨率DPI怎么计算
    SQLite数据类型
    Android给Viewpager默认指定页
    Android 禁止Viewpager左右滑动功能
    JAVA中获取当前系统时间
  • 原文地址:https://www.cnblogs.com/liming19680104/p/11550712.html
Copyright © 2011-2022 走看看