标签(空格分隔): 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
网友评论