Qt QML - 处理导航按钮?

时间:2016-03-29 21:05:31

标签: android c++ qml qt5

上下文

Qt QML 5.6

我找不到相关文档来处理我的QML应用程序中的Android导航按钮(三角形,方形和圆形,位于屏幕底部)。

目前,在触摸它们时,它只是将我的应用程序放在后台。我想给他们一些逻辑。

问题:

是否可以在QML中管理这些按钮?或者我将不得不处理一个c ++事件处理程序? (如果是这样,应该关注哪个代码?)

由于

2 个答案:

答案 0 :(得分:3)

穷人的解决方案:

在窗口或应用程序窗口范围内,使用

    onClosing: {
      do_what_you_need()
      close.accepted = false
    }

do_what_you_need()中,如果可以,可以拨打Qt.quit。

答案 1 :(得分:1)

可以从QML管理这些按钮。在QML中,这些按键的处理方式与键盘上的按键完全相同。例如,Qt.Key_Back表示后退键(三角形),Qt.Key_Home表示主键(正方形)。以下是在QML中侦听主键的示例:

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