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

  • 相关阅读:
    DButils工具类能够用来获取数据库连接向数据库插入更新删除对象
    Android 实现ActionBar定制
    查看CentOs6.5/7的系统版本号
    安装Was liberty之步骤
    在centOS上安装VNC
    SCP远程拷贝命令
    Was liberty资料总结
    罗杰斯:做你喜欢的工作,你会变成个有钱人
    【Java/csv】一个CSV文件解析类(转载)
    当你的才华还撑不起你的野心时,那你就应该静下心来学习。
  • 原文地址:https://www.cnblogs.com/liming19680104/p/11550712.html
Copyright © 2011-2022 走看看