Rectangle 响应按键

import QtQuick 2.4
import QtQuick.Window 2.2


Window {
    visible: true
    MainForm {
        anchors.fill: parent

    }

    Rectangle{
         300
        height: 200
        color: "#c1c1c1"
        focus:true
        Keys.enabled: true
        Keys.onEscapePressed: Qt.quit()
        Keys.onBackPressed: Qt.quit()

        Keys.onPressed: {
            switch(event.key){
            case Qt.Key_0:
            case Qt.Key_1:
            case Qt.Key_2:
            case Qt.Key_3:
            case Qt.Key_4:
            case Qt.Key_5:
            case Qt.Key_6:
            case Qt.Key_7:
            case Qt.Key_8:
            case Qt.Key_9:
                event.accepted=true
                keyView.text=event.key-Qt.Key_0
                break;
            }
        }
    }

    Text{
        id:keyView
        font{
            bold:true
            pixelSize: 24
        }
        text:qsTr("key")
        anchors.centerIn: parent
    }
}
Qt.Key_0为48,
Qt.Key_1为49依次类推,所有要减去Qt.Key_0才可以正常显示0,1,2...
原文地址:https://www.cnblogs.com/yshyee/p/4764664.html