> 文章列表 > QML定时器

QML定时器

QML定时器

QML使用Timer使用定时器

Timer

计时器可用于触发操作一次,或以给定的间隔重复触发。

 常用属性:

interval

设置触发器之间的间隔(以毫秒为单位)。

默认间隔为 1000 毫秒。

repeat

设置重复,为真,则以指定的间隔重复触发计时器

默认为(false)

running 设置启动,true为启动,false(默认)
triggeredOnStart 触发启动

信号:

triggered() 触发时,发出该信号

函数方法: 

restart() 重新启动
start() 开启
stop() 暂停

设置单次的定时器:

Text{id:text1x:100y:100text:"null"font.pixelSize: 20//设置字体大小}Timer{interval: 2000//2秒running: true//开启onTriggered:text1.text=Date().toString();//设置时间}

初始状态:                                            两秒后:

 

持久的定时器:

Text{id:text1x:100y:100text:"null"font.pixelSize: 20//设置字体大小}Timer{interval: 2000//2秒running: true//开启repeat: true //开启以指定的间隔重复触发计时器onTriggered:text1.text=Date().toString();}

 triggeredOnStart的使用:

简单的讲:

  • 如果开启triggeredOnStart,则开始时会先执行一次,然后等待时间间隔
  • 如果关闭triggeredOnStart,则需要先等待时间间隔,然后才会执行

 不开启triggeredOnStart:

Text{id:text1x:100y:100text:"null"font.pixelSize: 20//设置字体大小}Timer{interval: 1000//1秒running: true//开启repeat: true //开启以指定的间隔重复触发计时器onTriggered:text1.text=Date().toString();}

初始状态为:

开启triggeredOnStart:

Text{id:text1x:100y:100text:"null"font.pixelSize: 20//设置字体大小}Timer{interval: 1000//1秒running: true//开启repeat: true //开启以指定的间隔重复触发计时器triggeredOnStart: trueonTriggered:text1.text=Date().toString();}

初始状态为:

函数的使用:

 创建3个Rectangle,分别对应 开启定时器,暂停定时器,重启定时器,鼠标点击分别执行相应的函数。

Text{id:text1x:100y:100text:"null"font.pixelSize: 20//设置字体大小}Timer{id:time1interval: 1000//1秒repeat: true //开启以指定的间隔重复触发计时器triggeredOnStart: trueonTriggered:text1.text=Date().toString();}Row{y:200Rectangle{id:rect1width: 100;height: 100MouseArea{anchors.fill:parentonPressed:{time1.start()//开启定时器}}Text{anchors.fill:parenttext: "开启定时器"font.bold: true}}Rectangle{id:rect2width: 100;height: 100MouseArea{anchors.fill:parentonPressed:{time1.stop()//暂停定时器}}Text{anchors.fill:parenttext: "暂停定时器"font.bold: true}}Rectangle{id:rect3width: 100;height: 100MouseArea{anchors.fill:parentonPressed:{time1.restart()//重新开启定时器}}Text{anchors.fill:parenttext: "重新开启定时器"font.bold: true}}}