锁屏-qml

时间:2013-03-13 12:02:03

标签: qt qml

从过去一周开始,我正试图解决这个问题。我无法锁定我创建的任何页面的屏幕。我试着把计时器。但我不知道如何检测用户是否不活跃。 例如 ex1.qml

rectangle{
id:ex1
color:"red"
keys.onReturnPressed:{
ex2.visble=true;
visible=false;
}
rectangle {
id:ex2
color:"blue"
keys.onReturnPressed:{
visible=false;
ex1.visible=true;
}
}
}

如果用户一段时间没有活动,那么应用程序应该要求密码解锁它。如果用户没有按住回车键2分钟,那么它应该锁定屏幕并要求输入密码。 怎么做???

我在等你的回答。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

FocusScope{
    height: 500;
    width:500;
    focus: true;
    Rectangle {
        id:ex1
        color:"red"
        focus: ex1.visible;
        visible:true;
        anchors.fill: parent;
        Keys.onEnterPressed: {
            lockTimer.restart();
        }
        Keys.onReturnPressed:{
            lockTimer.restart();
        }
    }
    Rectangle {
        id:ex2
        color:"blue";
        focus: !ex1.visible;
        visible: !ex1.visible;
        anchors.fill: parent;
        Keys.onReturnPressed:{
            password.opacity=1;
        }
        Text {
            id: password;
            anchors.centerIn: parent
            opacity: 0;
            text: "Enter Password"
        }
    }

Timer{
    id:lockTimer;
    repeat: false;
    onTriggered: {
        ex2.visible=true;
        ex1.visible=false;
    }
}

function setTimer(val){
    lockTimer.interval=60000*val;
}

Component.onCompleted: {
    setTimer(2);
    lockTimer.start();
}

}