4
我有一個QML應用程序,我試圖創建一個顯示當前時間的簡單時鐘 - 與每個操作系統中的類似。顯示時間自動更新每分鐘
時間應該作爲格式爲hh:mm
的文本呈現給用戶,因此即 16:12。
我目前正試圖在應用生命週期中有Timer組件運行的解決方案,並通過調用更新文本:
timeText.text = Qt.formatTime(new Date(),"hh:mm")
每60秒。有沒有更好的方法來做到這一點或使用Timer組件是必要的。
片段與整個代碼:
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")
}
}
你在做什麼是一個簡單的方法,它沒有任何問題。這就是計時器組件的用途。或者,您可以創建QML或C++模型,每分鐘更新其值。在C++中,模型可以是'QObject'屬性,所以它可以非常短。 –
爲了避免每分鐘都做一次'Timer',我唯一要做的就是改變它,因爲特別是在Windows上,'Timer'不夠精確。你應該做一個每秒鐘觸發並相應更新日期的人。否則,您最終有時會冒着過早發射1秒的風險,並且保持相同的分鐘顯示兩次 – koopajah