QML —— 键盘输入示例(附完整源码)

2023-12-27 17:12:03
示例效果

在这里插入图片描述

?

Keys

?????所有视觉基本体都支持通过“附加关键帧”属性进行关键帧处理。按键可以通过onPressed和onReleased信号属性进行处理。

?????信号属性有一个KeyEvent参数,名为event,其中包含事件的详细信息。如果键被处理,则event.accepted应设置为true,以防止事件向上传播到项层次结构。

?

源码
import QtQuick 2.12
import QtQuick.Window 2.12

import QtQuick.Layouts 1.12

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

    Text
    {
        id: textID
        text: qsTr("text")
        anchors.centerIn: parent
        font.pixelSize: 40
        font.family: "Courier New"
    }

    Item
    {
        width: parent.width
        height: parent.height
        anchors.fill: parent
        focus: true					// 重要! 设置焦点
        Keys.enabled: true
        Keys.onEscapePressed: 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;
                textID.text = event.key-Qt.Key_0;break;
            }
        }
    }
}

?

关注

笔者 - jxd

?

文章来源:https://blog.csdn.net/automoblie0/article/details/135248257
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。