键盘--会移动的文本框
Rectangle{
width:320;
height:480;
color:"gray";
focus:true;//想让某个元素处理按键,则需要把焦点给他,通过Item的focus来控制
Keys.enabled: true;
//附加信号处理器
Keys.onEscapePressed: {
Qt.quit();
}
Keys.forwardTo: [moveText,likeQt];//keys的三个属性之一,列表属性,表示传递按键事件给列表内的对象。转发按键给id为moveText的Text对象和id为likeQt的CheckBox对象。第三个属性:priority属性允许你设置Keys附加属性的优先级:在Item之前处理按键或在之后处理按键
Text{
id:moveText;
x:20;
y:20;
width:200;
height: 30;
text:"Moving Text";
color:"blue";
font{bold:true;pixelSize:24; }
Keys.enabled: true;//keys的三个属性之一:控制是否处理按键
Keys.onPressed: {
switch(event.key){
case Qt.Key_Left:
x -= 10;
break;
case Qt.Key_Right:
x += 10;
break;
case Qt.Key_Down:
y += 10;
break;
case Qt.Key_Up:
y -= 10;
break;
default:
return;
}
event.accepted = true;//如果一个按键被处理,这个值要被设置为true,以免他被继续传递,如果不设置,容易出现奇怪的问题。声明这个按键已经名花有主找到归宿
}
}
CheckBox{
id:likeQt;
text:"Like Qt Quick";
anchors.left: parent.left;
anchors.leftMargin: 10;
anchors.bottom: parent.bottom;
anchors.bottomMargin: 10;
z:1;
}
}