0

从过去 1 周开始,我正在尝试解决此问题。我无法锁定我创建的任何页面的屏幕。我试着把计时器。但我不知道我应该如何检测用户是否不活跃。例如 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 分钟内没有按 Enter 键,那么它应该锁定屏幕并要求输入密码。怎么做???

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

4

1 回答 1

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();
}

}

于 2013-03-16T10:03:26.673 回答