Qt单次定时器

2020-07-07 10:50:33 浏览数 (1)

下面为两种实现方式,实现1秒单次定时器。

实现1

  使用定时器QTimer的setSingleShot接口实现单次定时器。

代码语言:javascript复制
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), SLOT(onTimeout()));
timer->setSingleShot(true);
timer->start(1000);

实现2

  使用定时器QTimer的singleShot静态接口实现单次定时器,实现更简洁,推荐使用。

代码语言:javascript复制
/* 信号槽 */
QTimer::singleShot(1000, this, SLOT(onTimeout()));

/* lambda */
QTimer::singleShot(1000, [](){qDebug() << "Hello world!";});

0 人点赞