QML中利用JavaScript显示当前时间信息

来源:互联网 发布:ubuntu java安装在哪好 编辑:程序博客网 时间:2024/06/01 18:15

import QtQuick 1.1
Rectangle {
    width: parent.width
    height: parent.height
//    Component.onCompleted: {
//        setDateTime();
//    }
    Text{
        id: showTemp
        width: parent.width / 2
        height: parent.height - 2
        anchors.verticalCenter: parent.verticalCenter
        verticalAlignment: Text.AlignVCenter
        anchors.left: parent.left
        anchors.leftMargin: 8
        font.pixelSize:16
    }  
    function setDateTime(){
        var today = new Date();
        var year = today.getFullYear();
        var month = today.getMonth() + 1;
        var nowday = today.getDate();
        var hours = today.getHours();
        var minutes = today.getMinutes();
        var seconds = today.getSeconds();
        var d = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
        var weekday = d[today.getDay()];
        console.log("今天是:" + year + "-" + month + "-" + nowday + " " +
                hours + ":" + minutes + ":" + seconds + "   " + weekday )
    }
    Timer{
       //interval: 60000  //60seconds
       interval: 1000
       running: true
       repeat: true
       onTriggered:{
           setDateTime()
       }
    }//Timer
}
    以上是一个qml文件,里面利用js来获取当前的时间信息,并进行拆分和自己重新拼接成字符串并显示!
    利用一个timer控件,每一秒更新一下text文本!
 
昨天测试的时候,发现当qml文件最小化之后,再显示文本就不动了,目前还不知道原因,等到解决了再来更新这篇blog!
解决办法在http://blog.csdn.net/sgnh123456/article/details/8050691
 
加一句,在上面的代码中可以对输出文本进行格式化,就是说如当时间为9:8的时候输出为09:08,这样可以保证文本的长度不变,不会一会儿长一会儿短的!
代码如下:
function standardOutput(value){
        return value < 10 ? ("0" + value) : value
}
调用的时候:
console.log(standardOutput(month)),依此类推;;;
 
 
原创粉丝点击