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 分間エンター キーを押さない場合、画面をロックしてパスワードを要求する必要があります。どうやってするの???

私はあなたの答えを待っています。前もって感謝します。

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 に答える