简述
QTimer类提供了重复和单次触发信号的定时器。
QTimer类为定时器提供了一个高级别的编程接口。很容易使用:首先,创建一个QTimer,连接timeout()信号到适当的槽函数,并调用start(),然后在恒定的时间间隔会发射timeout()信号。
详细说明
1秒(1000毫秒)更新一次:
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(1000);
start()之后,每秒都会调用update()。
成员函数
bool isActive() const
如果定时器正在运行,返回true,否则返回false。
int remainingTime() const
返回定时器的剩余时间(毫秒为单位),直到超时。
如果定时器不活跃,返回值是-1。如果定时器过期,返回值为0。
void setInterval(int msec)
设置超时间隔(毫秒为单位)。
默认值是0,这时,一旦窗口系统事件队列中的所有事件都已经被处理完,一个时间间隔为0的QTimer就会触发。
void setSingleShot(bool singleShot)
设置定时器是否为单次触发。
单次触发定时器只触发一次,非单次的话,则每过一个时间间隔都会触发。
void setTimerType(Qt::TimerType atype)
设置定时器的准确性。默认值是Qt::CoarseTimer。
int timerId() const
如果定时器正在运行,返回定时器的ID,否则返回-1。
void start(int msec)
启动或重新启动一个超时时间间隔为毫秒的定时器。
如果定时器正在运行,它将被停止和重新启动。如果singleShot为true,定时器将只激活一次。
void start()
同上,重载了start()。
void stop()
停止定时器。