• 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(){
    
    }

  • 相关阅读:
    一个强大的在线开发IDE: CodeRun Studio
    PyQuery: 一个类似jQuery的Python库
    jQuery的图片剪切插件
    SVN导出两个版本之间的差异文件
    javascript中的focus()光标定位
    零分,裸奔真危险
    Django 截取中英文混合字符串
    360与金山网盾
    20100301:IE6的葬礼
    两个与jQuery相关的资源:导航条与提示
  • 原文地址:https://www.cnblogs.com/liming19680104/p/11550712.html
Copyright © 2020-2023  润新知