键盘上4个方向键(↑ ↓ ← →) 控制矩形进行移动,按 +号 则放大,按 -号则缩小。
这里有个问题,当缩小到一定程度时,加减号产生的效果会颠倒。
import QtQuick
Window {
width: 640
height: 480
visible: true
title: qsTr("按键控制方块移动、放大、缩小")
Rectangle {
width: 50
height: 50
color: 'pink'
border.color: Qt.lighter(color)
focus: true //设置焦点,否则不能正确控制
Keys.onLeftPressed: x -= 10 //←方向键
Keys.onRightPressed: x += 10 //→方向键
Keys.onUpPressed: y -= 10 // ↑方向键
Keys.onDownPressed: y += 10 // ↓方向键
// 当有按键被按下,通过无函数名但有参数的函数中的switch语句进行判断
Keys.onPressed: function (event) {
switch (event.key) {
case Qt.Key_Plus: scale += 0.2; break //若+号键被按下,则放大0.2,连续按则连续放大
case Qt.Key_Minus: scale -= 0.2; break //若-号键被按下,则缩小0.2,连续按则连续缩小
}
}
}
}
?