Rectangle 响应按键

import QtQuick 2.4
import QtQuick.Window 2.2


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

    }

    Rectangle{
        width: 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...
posted @ 2015-08-27 21:19  yshy  阅读(252)  评论(0编辑  收藏  举报