属性 更新不会更改组件中的值

Property update does not change value in component

我正在尝试根据现在的时间显示一些文本,并且我有一个存储当前时间的时间 属性。我希望文本上的时间随着时间的推移而更新,但它永远不会更新,并且停留在它第一次 运行 的时间。由于时间永远不会更新,我无法使用 visible 条件来显示我的文本。我该怎么做才能修复此代码以确保此处的值更新?

import QtQuick 2.0
import QtQuick.Window 2.2

Window {
    visible: true
    height: 400
    width: 400
    property real time: new Date().getTime()
    property real hour: new Date().getHours()
    Rectangle {
        id: rect
        width: 400; height: 400
        color: "white"
        Text {
            anchors.centerIn: parent
            text: "Good morning, the time is: " + time
            // visible: hour > 4 && hour < 12
        }
    }
}

您的绑定将不起作用,因为您绑定的 javascript 函数不发送已更改的信号。您需要为此使用计时器:

Window {
    visible: true
    height: 400
    width: 400
    property real time: new Date().getTime()
    property real hour: new Date().getHours()

    Timer {
        running: true
        repeat: true
        interval: 60000 // Update every 60 seconds maybe?
        onTriggered: {
            time = new Date().getTime()
            hour = new Date().getHours()
        }
    }

    Rectangle {
        id: rect
        width: 400; height: 400
        color: "white"
        Text {
            anchors.centerIn: parent
            text: "Good morning, the time is: " + time
            visible: hour > 4 && hour < 12
        }
    }
}