18--Qt基本元素初体验--响应按键

2019-05-30  本文已影响0人  lvyweb

标签(空格分隔): Qt


Keys对象是Qt Quick 提供的、专门供Item处理案件事件的对象。

如果一个按键被处理,event.accepted应该被设置为true,以免它继续被传递。


这里举一个简单的例子,检测到Escape和Back键时退出应用,检测到数字键时,就通过Text来显示相对应的数字。
import QtQuick 2.0

Rectangle {
    width: 600;
    height: 400;
    color:"#c0c0c0";
    focus: true;
    Keys.enabled: true;
    Keys.onEnterPressed: 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;
        text: qsTr("开始");
        font.bold: true;
        font.pixelSize: 24;
        anchors.centerIn: parent;

    }

}

如图


响应按键.png
上一篇 下一篇

猜你喜欢

热点阅读