盛世清平~Qt quick学习笔记_08

键盘--会移动的文本框


 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;
       }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值