示例效果
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