我有一个关于QML程序的问题。在最高级别的main.qml文件中,我有一些键盘快捷方式,如下所示:
Shortcut {
sequence: "Up"
onActivated: {
// yadda yadda
}
}
在另一个文件中,我有几个像这样的Keys.onPressed调用:
Keys.onPressed: {
if (event.key == Qt.Key_Up) {
// yadda yadda
}
}
显然,快捷键干扰了OnPressed调用。当我注释掉快捷键时,OnPressed正常工作。但是当它们都激活时,似乎快捷键拦截了键盘按下事件并阻止了OnPressed的激活。
我知道对于鼠标事件,Qt有一个"accepted"变量。如果你想让事件继续向下传递,你只需在OnActivated函数中设置"accepted = false"即可实现。然而,在快捷键API中,我没有看到任何等效的“accepted”变量。有没有其他方法可以确保事件正确地传播?