以指定的时间间隔触发一个处理程序。
import声明: import QtQml 2.15
属性:
- interval: int
- repeat: bool
- running: bool
- triggeredOnStart: bool
信号:
- triggered()
成员方法:
- restart()
- start()
- stop()
详细说明:
一个Timer可以用来单次触发,也可以定时重复触发。
下面这个Timer例子,展示当前系统日期和时间,每500毫秒更新一次文本。使用 JavaScript 的 Date 对象访问当前系统时间。
import QtQuick 2.0
Item {
Timer {
interval: 500; running: true; repeat: true
onTriggered: time.text = Date().toString()
}
Text { id: time }
}
Timer类型和动画计时器同步。因为动画计时器通常设置为60fps(每秒60帧),所以Timer的分辨率最多为16ms(60分之一秒)。
如果当计时器正在运行时,它的属性发生变化,则消耗的时间将会重置。举例,如果一个计时器设置的更新时间是1000ms,在它执行500ms时,它的 repeat 属性改变了,那么消耗的时间重置为0。计时器将会正在下一个1000后触发处理程序。
详情查阅 Qt Quick Demo - Clocks.
属性文档:
interval: int
设置触发间隔时间,单位毫秒
默认值是 1000 ms
repeat: bool
如果 repeat 设置为 true,计时器会在指定时间间隔重复执行。否则计时器只会执行一次,在指定时间间隔结束即停止(running 属性会被设置为 false)
默认值是 false
running: bool
如果设置为 true,启动计时器;否则终止计时器。对于一个非重复的计时器,触发结束后 running 会被设置为 false。
默认值是 false
triggeredOnStart: bool
当启动一个计时器,第一次触发是在消耗完指定时间之后。有时也希望计时器刚启动就触发执行程序;例如,需要建立初始状态。
如果 triggeredOnStart 被设置为 true,那么计时器启动立即触发,随后才开始计时指定时间间隔。注意如果 repeat 设置为 false,计时器会触发两次,一次是启动时,一次是计时结束。
默认值是 false
信号文档:
triggered()
计时结束时,发射信号。
注意:对应的处理程序是 onTriggered。
成员方法文档:
restart()
重置计时器
如果计时器没有执行,那么就启动它,否则就停止,重置到初始状态并启动。调用 restart() 函数,running 属性也会设置为 true。
start()
启动计时器
如果计时器已经启动,调用此方法无效。调用此方法 running 属性设置为 true。
stop()
停止计数器
如果计时器停止,调用此方法无效。调用此方法 running 属性设置为 false。