Qml-Timer的使用

Qml-Timer的使用

Timer的属性和方法

  1. 属性interval:定时器间隔,单位ms
  2. 属性repeate:定时器是否重复,true 为重复,false,定时器为一次性定时器
  3. 属性running:true 启动定时器;repeate为false时,定时器触发一次后,running会被设置为false
  4. 属性triggeredOnStart:true 定时器启动时会立即触发一次trigger()信号
  5. 信号triggered():
  6. 方法restart():定时器未运行时,启动定时器。如果定时器在运行,重新初始化,重新启动定时器(比如间隔2000ms,定时器已经运行到1500ms了,调restart(),定时器由从0开始重新运行);注意 如果triggeredOnStart设置为true时,每次restart() 开始都会触发一次tirggered()信号
  7. 方法stop():停止定时器运行

Timer的实例代码

import QtQuick
import QtQuick.Controls
//Timer qml中定时器使用
//Timer 默认是没有启动的,

Item {

    id: idTimeDemo

    property int timeCount: 0

    Timer{
        id:idTimer
        interval: 1000                          //间隔ms
        repeat: true                            //定时器是否重复,true 重复,false:定时器运行一次就结束
        //running: true                           //启动定时器,如果repeat为false,当定时器在间隔时间触发后,此值被自动设置为false
        triggeredOnStart: true                  //是否启动定时器时,触发一个trigger信号,默认为false

        onTriggered: {
            console.log("triggled");
            timeCount++
            idText.text = "Timer Count " + timeCount;
        }
    }

    //无法直接使用Row anchors 来布局。 Row 中子项不能使用anchors来布局
    Row{
        id:idRow
        spacing: 10
       // height: 30
        Button{
            text:"start"
            onClicked: {
                idTimer.start();
            }
        }
        Button{
            text:"Pause"
            onClicked: {
                idTimer.stop();
            }
        }

        Button{
            text:"Resume"
            onClicked: {
                idTimer.restart();              //restart() 如果定时器 已经在运行,重新初始化,重新开始运行
            }
        }
        Component.onCompleted: {
            console.log("row width = ",width, " row height = ", height);
        }
    }

    Text{
       id:idText
       y:30
       x:10
       //anchors.top: idRow.anchors.bottom
       //anchors.margins: 10
       width: parent.width
       color:"red"
    }

}

Timer实例代码运行结果如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值