qml定时器timer实现定期刷新界面
属性
属性 | 类型 | 作用 |
interval | int | 时间间隔(毫秒) |
repeat | bool | 是否重复 |
running | bool | 是否运行定时器 |
triggeredOnStart | bool | 开始运行是否触发一次 |
信号
triggered() 触发处理事件的信号
方法
方法 | 作用 |
restart() | 重新启动 |
start() | 开始 |
stop() | 暂停 |
接下来设计了一个红色边框的文本框,在里面每过一秒刷新时间显示出来,并添加鼠标操作,点击文本框后刷新的启动/停止
import QtQuick
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
//文本框
Text {
id: timeshow
text: qsTr("text")
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
width: 400
height: 50
x:parent.width-400
y:parent.height-50
Rectangle{
color: "#00000000"
border.color: "red"
anchors.fill: parent
}
//鼠标区域
MouseArea{
anchors.fill: parent
onClicked: {
timer.running=!timer.running
}
}
}
Timer{
id:timer
interval: 1000 //毫秒,时间间隔
repeat: true //是否重复触发
running: true //是否运行
triggeredOnStart: true //开始计时的时候是否先触发一次事件
//触发事件
onTriggered: {
timeshow.text=Date().toString()
}
}
}
效果如下