import QtQuick Window { width: 640 height: 480 visible: true title: qsTr("Test KeyEvent") //传递给活动窗口的QQuickWindow //传递给当前活动的Item(focus为true),如没则找子节点中的,都没有则忽略 Item { id:item1 //focus: true Keys.onPressed: (event)=> { print("item1 onPressed") } Keys.onReleased: (event)=> { print("item1 onReleased") } Item { id:item2 focus:true //如果Item接收事件(accepts 设为true)则停止转发,否则转发给父节点 Keys.onPressed: (event)=> { print("item2 onPressed") event.accepted = true //停止转发 //处理事件 print("event.key = " + event.key) if(event.key === Qt.Key_W) { print("W") } else if(event.key === Qt.Key_Left) { print("Key_Left") } //组合按键 Ctrl Shift Alt if(event.modifiers & Qt.AltModifier) { print("Alt") } // Alt + F12 if((event.modifiers & Qt.AltModifier) && event.key === Qt.Key_F12) { print("Alt + F12") } //Ctrl + ALt + A if((event.modifiers & Qt.ControlModifier) && (event.modifiers & Qt.AltModifier) && event.key === Qt.Key_A) { print("Ctrl + ALt + A") } } } } }