QML学习笔记(七)
本篇文章是对来自🤝BiliBili-清晨与猫鱼的QML教程的学习笔记,原视频链接👇
https://www.bilibili.com/video/BV1Ay4y1W7xd?spm_id_from=..search-card.all.click&vd_source=4079f59f2068471b4d379822052e0270
Timer
一、描述
计时器可以用来触发一次动作,也可以在给定的时间间隔内重复触发。
这是一个显示当前日期和时间的计时器,每500毫秒更新一次文本。它使用JavaScript Date对象来访问当前时间。
1 | import QtQuick 2.0 |
Timer类型与动画计时器同步。因为动画计时器通常设置为60fps,所以计时器的分辨率最多为16ms。
如果Timer正在运行,并且它的一个属性被更改,运行时间将被重置。例如,如果一个间隔为1000ms的Timer在启动后500ms改变了它的repeat属性,那么运行时间将被重置为0,并在1000ms后触发Timer。
二、属性
interval
: int设置触发器之间的间隔,以毫秒为单位。
缺省值是1000毫秒。repeat
: bool如果repeat为真,则计时器在指定的时间间隔内重复触发;否则,计时器将在指定的时间间隔触发一次,然后停止(即运行将被设置为
false
)。
重复默认值为false
。running
: bool如果设置为
true
,启动计时器;否则将停止定时器。对于非重复计时器,在计时器被触发后,运行设置为false
。Running
默认为false
。triggeredOnStart : bool
当计时器启动时,第一个触发器通常是在指定的时间间隔过后。有时希望在计时器启动时立即触发;例如,建立一个初始状态。
如果triggeredOnStart为true,则计时器在启动时立即触发,然后按指定的间隔触发。注意,如果repeat被设置为false,计时器会被触发两次;一次开始,一次在间歇。
triggeredOnStart默认为false。
三、信号
- triggered()
该信号在Timer超时时发出。
注意:对应的处理程序是onTriggered。
四、方法
restart()
重新启动定时器
如果Timer没有运行它将被启动,否则它将被停止,重置为初始状态并启动。在调用restart()之后,running属性将为true。start()
启动定时器
如果计时器已经在运行,调用此方法将不起作用。在调用start()之后,running属性将为true。stop()
停止计时器
如果计时器未运行,调用此方法将不起作用。在调用stop()之后,running属性将为false。