我正在使用Qt5.3和Qtquick2.1创建一个程序。我试图在我的代码中使用Keys.onReleased捕获Android上的后退按钮,但该事件未被触发。我已将项焦点设置为true,但仍然没有成功。以下是代码示例。
import QtQuick 2.1
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtQuick.Layouts 1.1
import QtQuick.Window 2.1
Rectangle
{
id: main2
focus: true
width: Screen.Width
height: Screen.Height
Keys.enabled: true
Keys.priority: Keys.BeforeItem
property string load_page: ""
signal deskConnected()
Loader{
id: pageloader
anchors.fill: parent
source: "qrc:/qml/resources/Firstpage.qml"
}
onDeskConnected: {
pageloader.item.onDeskConnected()
}
function loadPatwin(){
pageloader.source = "qrc:/qml/resources/Secondpage.qml";
}
Keys.onReleased: {
console.log("back");
if (event.key === Qt.Key_Back) {
event.accepted=true;
}
}
}
这里的loadPatwin是在按下由其他qml定义的按钮时调用的函数,它加载了一个新的qml。但之后当我在安卓上按返回按钮时,应用程序会关闭,并且日志中甚至没有打印“back”。请问我做错了什么?
先感谢您的帮助。