我想处理两个关键事件Ctrl
+Tab
和Ctrl
+ Shift
+Tab
以便在我的应用程序中的选项卡之间切换(分别为“前进”和“后退”)。但是,这似乎没有按预期工作。
这是我当前的代码(最小示例):
import QtQuick 1.1
Item {
width: 100
height: 100
focus: true
Keys.onPressed: {
if(event.modifiers & Qt.ControlModifier) {
if(event.key === Qt.Key_Tab) {
if(event.modifiers & Qt.ShiftModifier)
console.log('backward')
else
console.log('forward')
}
}
}
}
qmlviewer
我用(Qt 4.8.2 版)运行了这段代码
按Ctrl
+时输出Tab
:
forward
forward
按Ctrl
+ Shift
+时输出Tab
:
没有任何
所以我看到了两个错误:前一个键序列被处理了两次,而另一个根本没有。
- 编辑:另一个根本没有得到处理的原因已解决,请参阅评论。
为什么会发生这种情况,我该如何解决?
注意:我已经在我的应用程序中使用了 Qt Components for Desktop,所以如果您知道需要此模块的解决方案就可以了。