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