1、概述
Timer是QML中用于创建定时器的元素。它允许你设置一个延迟时间,在延迟时间结束后触发一个信号或执行一段代码。Timer非常适用于需要在特定时间间隔后执行操作的场景,如动画延迟、定时任务等。
2、重要属性
- interval: 定时器触发的时间间隔,以毫秒为单位。当设置为0时,定时器将只触发一次。
- running: 一个布尔值,表示定时器是否正在运行。如果设置为true,定时器将开始计时;如果设置为false,定时器将停止。
- repeat: 一个布尔值,表示定时器是否重复触发。如果设置为true,定时器将在每次触发后重新计时;如果设置为false,定时器将只触发一次。
- triggered: 一个只读布尔值,表示定时器是否已经被触发。一旦定时器触发,该值将变为true,直到定时器被重置或停止。
3、重要方法
- start(): 启动定时器。如果定时器已经停止,调用此方法将开始计时。
- stop(): 停止定时器。调用此方法将立即停止定时器,无论它是否已经在计时。
- restart(): 重启定时器。这将停止定时器(如果它正在运行),然后立即以当前设置的间隔重新启动它。
4、重要信号
- triggered(): 当定时器触发时发出此信号。你可以连接此信号到一个处理函数,以便在定时器触发时执行特定的操作。
Window {
visible: true
width: 640
height: 480
id: root
Timer {
id: myTimer
interval: 2000; // 设置定时器间隔为2秒
repeat: true; // 设置定时器重复触发
onTriggered: {
console.log("Timer triggered!");
// 可以在这里执行其他操作,如更新UI等
}
}
Button {
id : previousButton
text: "Start Timer"
anchors.centerIn: parent
onClicked: {
myTimer.start(); // 启动定时器
}
}
Button {
text: "Stop Timer"
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: previousButton.bottom
anchors.topMargin: 20
onClicked: {
myTimer.stop(); // 停止定时器
}
}
}
觉得有帮助的话,打赏一下呗。。
需要商务合作(定制程序)的欢迎私信!!