版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq78442761/article/details/86182712
目录
官方解析
Timer能够触发一个动作,或者在给定时间重复这个动作;
下面给出显示当前时间的代码,500毫秒刷新异常,这里是通过JS对象来获取当前时间!
import QtQuick 2.0
Item {
Timer {
interval: 500; running: true; repeat: true
onTriggered: time.text = Date().toString()
}
Text { id: time }
}
Timer和animation timer 是同步的。通常情况下animation timer被设置为60fps,所以Timer最好是设置为16ms。
如果Timer在运行的时候,它的某个属性被改变,那么他将会被重制,比如,一个时间间隔为1000ms的Timer被换成了500ms后,他将会从0重新开始。
博主例子
这里补充了官方的例子,运行截图如下:
目录结构如下:
main.cpp
#include <QApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl("qrc:/main.qml"));
if(engine.rootObjects().isEmpty()){
return -1;
}
return a.exec();
}
main.qml
import QtQuick 2.7
import QtQuick.Controls 2.0
ApplicationWindow {
visible: true
width: 400
height: 300
Timer{
interval: 1000
running: true
repeat: true
onTriggered: time.text = Date().toString()
}
Text{
id: time
anchors.centerIn: parent
font.pixelSize: 24
color: "#148014"
}
}