import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Item {
        id: item1
        Keys.onPressed: (event)=>
        {
            print("item1 onPressed")
        }
        Keys.onReleased: (event)=>
        {
            print("item1 onReleased")
        }

        Item {
            id: item2
            focus: true

            Keys.onPressed: (event)=>
            {
                event.accepted = true

                if(event.key === Qt.Key_W) {
                    print("W")
                }
                else if(event.key === Qt.Key_Q) {
                    print("Q")
                }
                else if(event.key === Qt.Key_Left) {
                    print("Left")
                }

                // 组合键
                if (event.modifiers & Qt.AltModifier) {
                    print("Alt")
                }
                if ((event.modifiers & Qt.AltModifier) && event.key == Qt.Key_P) {
                    print("Alt+P")
                }
                if ((event.modifiers & Qt.ControlModifier) && (event.modifiers & Qt.AltModifier) && event.key === Qt.Key_A) {
                    print("Ctrl+Alt+A")
                }
            }
        }
    }
}

处理优先级设置

import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Item {
        id: item1
        Keys.onPressed: (event)=>
        {
            print("item1 onPressed")
        }
        Keys.onReleased: (event)=>
        {
            print("item1 onReleased")
        }

        // 设置优先级使用 Keys.priority Keys.AfterItem
        Item {
            id: item2
//            focus: true

            Keys.onPressed: (event)=>
            {
//                event.accepted = true // 接受事件,按键事件停止传播

                if(event.key === Qt.Key_W) {
                    print("W")
                }
                else if(event.key === Qt.Key_Q) {
                    print("Q")
                }
                else if(event.key === Qt.Key_Left) {
                    print("Left")
                }

                // 组合键
                if (event.modifiers & Qt.AltModifier) {
                    print("Alt")
                }
                if ((event.modifiers & Qt.AltModifier) && event.key == Qt.Key_P) {
                    print("Alt+P")
                }
                if ((event.modifiers & Qt.ControlModifier) && (event.modifiers & Qt.AltModifier) && event.key === Qt.Key_A) {
                    print("Ctrl+Alt+A")
                }
            }
            TextInput {
                focus: true
                width: 200
                height: 50
                Keys.onPressed: (event)=>
                {
                    print("TextInput onPressed")
                }
                Keys.forwardTo: [item1, item2] // 优先执行
            }


        }
    }
}