按键响应

响应按键

import QtQuick 2.2
import QtQuick.Window 2.2


Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")
    Rectangle {
        width: 300;
        height: 200;
        color: "blue";
        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;
            font.pixelSize: 24;
            text: qsTr("text");
            anchors.centerIn: parent;
        }
    }

}

检测到Escape和Back键时退出应用,检测到数字时,就通过Text来显示对应的数字。

运行结果如下:

5

猜你喜欢

转载自blog.csdn.net/weixin_44730555/article/details/89156042