#qt #qml
#qt #qml
Вопрос:
Как выйти из приложения, дважды нажав кнопку «Назад» на своем мобильном телефоне?
для возврата к предыдущей странице я сделал это
Keys.onBackPressed: {
stackView.push("previous.qml")
}
Ответ №1:
Keys.onBackPressed: {
timer.pressBack()
}
Timer{
id: timer
property bool backPressed: false
repeat: false
interval: 200//ms
onTriggered: backPressed = false
function pressBack(){
if(backPressed){
timer.stop()
backPressed = false
// leave application
// your code
leaveApp()
}
else{
backPressed = true
timer.start()
}
}
}
Для этого можно использовать таймер, в течение 50 мс, если вы дважды нажмете кнопку «Назад», запустится функция leaveApp().
Комментарии:
1. Я бы использовал для этого JS, я имею в виду сохранение
data1 = new Date()
при первом нажатии и вычисление интервалаnew Date().getTime() - data1.getTime()
при втором.2. Я пробовал этот код, но он не работает, когда я дважды нажимаю кнопку «Назад», ничего не происходит
3. 50 мс было слишком быстрым, я увеличил интервал до 200 мс. В конечном итоге вы можете адаптировать этот код для использования new Date() вместо Timer .