康老师

qtimer定时器怎么用

2021-01-19 04:00:56
相关推荐

qtimer定时器提供了重复和单次触发信号的定时器。

qtimer为定时器提供了一个高级别的编程接口。

很容易使用:

首先,创建一个qtimer,连接timeout()信号到适当的槽函数,并调用start(),然后在恒定的时间间隔会发射timeout()信号。

注意:当qtimer定时器的父对象被销毁时,它也会被自动销毁。

在qtimer定时器之模拟时钟中,1秒(1000毫秒)更新一次:

qtimer定时器 *timer = new qtimer定时器(this) connect(timer, SIGNAL(timeout()), this, SLOT(update())) timer->start(1000)

start()之后,每秒都会调用update()。

可以通过设置setSingleShot(true)来让定时器只执行一次。也可以使用静态函数qtimer::singleShot():

qtimer::singleShot(200, this, SLOT(updateCaption()))

在多线程程序中,可以在一个有事件循环的任何线程中使用qtimer。

使用QThread::exec(),从非GUI线程启动一个事件循环。

Qt使用定时器的线程关联,以确定哪个线程会发出timeout()信号。

正因为如此,你必须在它的线程中启动和停止定时器,不可能从另一个线程启动定时器。

作为一个特例,一旦窗口系统事件队列中的所有事件都已经被处理完,一个定时为0的qtimer就会到时间了。

当需要提供流畅的用户界面时,可以用这来做比较繁重的工作。

阅读剩余内容
网友评论
相关阅读
小编推荐