2013-03-13 3 views
0

из 1-й недели я пытаюсь решить эту проблему. Я не могу заблокировать свой экран на любых страницах, которые я создаю. Я попытался поставить таймер. но я не понимаю, как я должен определить, не пользователь ли он активен. , например ex1.qmllock screen-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

Вы можете попробовать что-то вроде этого:

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

}

+0

спасибо .. :) это помогло :) :) – geek