qt 定时器事件QTimerEvent


方式一

#include <QTimerEvent>
MyWidget::MyWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MyWidget)
{
    ui->setupUi(this);
    // 启动定时器
    id1 = startTimer(1000);
    id2 = startTimer(2000);
}
void MyWidget::timerEvent(QTimerEvent *event)
{
    if(event->timerId() == id1)
    ui->label_2->setText(QString::number(num++));
    static int num2=0;
    if(event->timerId() == id2)
    ui->label_3->setText(QString::number(num2++));
}

方式二

// 定时器第二种方式
    QTimer* timer1 = new QTimer(this);
    timer1->start(500);

    // 发送一个信号
    connect(timer1,&QTimer::timeout,[=](){
        static int num4=0;
        ui->label_4->setText(QString::number(num4++));
    });
    connect(ui->pushButton,&QPushButton::clicked,[=](){
        timer1->stop();
    });

一次性定时器

// 100为毫秒
QTimer::singleShot(100,[=](){
            qDebug()<<"xxx";
        });


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM