qt - 当我关闭弹出窗口然后单击手机上的后退按钮时,我的应用程序会在 qml 中关闭
问题描述
Page{
id: app
Popup {
id: popup1
background: Rectangle {
implicitWidth: 400
implicitHeight: 200
Row{
topPadding: 40
leftPadding: 10
Text {
id: warning
text: qsTr("Are you sure you want to exit the App ?")
}
}
Row{
topPadding: 100
leftPadding: 60
Button {
id: yes_btn
text: qsTr("YES")
onClicked:
{
Qt.quit();
}
}
Button {
id: no_btn
text: qsTr("NO")
onClicked:
{
popup1.close();
}
}
}
}
}
Keys.onBackPressed: {
popup1.open();
}
}
在我的手机上按下后退按钮 popup1 打开,当我关闭弹出窗口并再次按下后退按钮然后而不是打开弹出窗口时,我的应用程序被关闭。如何防止?
解决方案
您可能感兴趣的一种解决方案是使用onClosing
每次按下后退按钮时发送的信号。
onClosing: {
close.accepted = false
if (popup1.opened)
popup1.close()
else
popup1.open()
}
此代码应使您的弹出窗口在按下后退按钮时打开,并在打开时关闭它。
推荐阅读
- node.js - 如何使express.js应用程序在应用程序启动时仅连接redis 1次而不使用全局?
- typescript - 具有递归、条件和匹配键的 TypeScript 泛型
- python - 未使用的生成器中的上下文管理器是如何最终确定的?
- android - 安装损坏
- swift - 启用和禁用 iCloud 时的 XCTest
- javascript - Bootstrap 模态不会在点击时显示
- docker - 无法从远程机器访问 Docker 容器
- python - 跟踪 Python 脚本中的每一步
- php - 如何在聊天中安排味精,或者像whatsapp使用php,ajax
- xamarin - Xamarin Forms Maps 自定义 Pin 看起来像自己的位置