【发布时间】:2016-03-29 21:05:30
【问题描述】:
上下文:
Qt QML 5.6
我找不到相关文档来处理我的 QML 应用程序中的 Android 导航按钮(屏幕底部的三角形、正方形和圆形)。
目前,当触摸它们时,它只是将我的应用程序置于后台。我想给他们一些逻辑。
问题:
是否可以在 QML 中管理这些按钮?还是我必须处理 C++ 事件处理程序? (如果是这样,应该关注哪个代码?)
谢谢
【问题讨论】:
Qt QML 5.6
我找不到相关文档来处理我的 QML 应用程序中的 Android 导航按钮(屏幕底部的三角形、正方形和圆形)。
目前,当触摸它们时,它只是将我的应用程序置于后台。我想给他们一些逻辑。
是否可以在 QML 中管理这些按钮?还是我必须处理 C++ 事件处理程序? (如果是这样,应该关注哪个代码?)
谢谢
【问题讨论】:
穷人的解决办法:
在 Window 或应用程序窗口范围内,使用
onClosing: {
do_what_you_need()
close.accepted = false
}
在do_what_you_need(),如果没问题,你可以调用Qt.quit。
【讨论】:
if (Qt.platform.os == "android") 包装
可以从 QML 管理这些按钮。在 QML 中,这些按键的处理方式与键盘上的按键完全一样。例如,Qt.Key_Back 指的是返回键(三角形),Qt.Key_Home 指的是主页键(正方形)。下面是一个在 QML 中监听 home 键的例子:
Keys.onPressed: {
if (event.key == Qt.Key_Home) {
console.log("Square button(home) pressed");
}
}
有关 Qt 中的关键枚举的更多信息,请参阅此文档:http://doc.qt.io/qt-5/qt.html#Key-enum
【讨论】: