我有一个QML应用程序,其中我正在尝试一个显示当前时间的简单时钟 - 与每个操作系统中的类似。
时间应该以格式hh:mm
的形式呈现给用户,所以即 16:12。
目前我正在尝试在应用程序生命周期内运行Timer组件并通过调用更新文本的解决方案:
timeText.text = Qt.formatTime(new Date(),"hh:mm")
整个代码的片段:
Text {
id: timeText
x: 10
y: 10
text: Qt.formatTime(new Date(),"hh:mm")
}
Timer {
id: timer
interval: 60000
repeat: true
running: true
onTriggered:
{
timeText.text = Qt.formatTime(new Date(),"hh:mm")
}
}
答案 0 :(得分:0)
我意识到这个问题现在已经有几年了,但没有给出解决方案,所以这就是我如何做到的(这适用于SailfishOS);
添加属性;
property alias updatesEnabled: timeText.updatesEnabled
然后,重要部分;
Item {
id: timeText
color: timeText.color
font.pixelSize: Theme.fontSizeHuge * 2.0
text: { updatesEnabled: timeText.time <--------add line here
Qt.formatTime(new Date(), "hh:mm:ss")
}
anchors {
horizontalCenter: parent.horizontalCenter
}
}
以上现在使时间/日期保持最新。我玩的是在不同的行插入代码,但这是我能让它工作的唯一方法。