Qml:键盘事件

import QtQuick

Window
{
    width: 640
    height: 480
    visible: true
    title: qsTr("Test KeyEvent")


    //传递给活动窗口的QQuickWindow

    //传递给当前活动的Item(focus为true),如没则找子节点中的,都没有则忽略
    Item
    {
        id:item1
        //focus: true
        Keys.onPressed: (event)=>
        {
            print("item1 onPressed")
        }

        Keys.onReleased: (event)=>
        {
            print("item1 onReleased")
        }

        Item
        {
            id:item2
            focus:true
            //如果Item接收事件(accepts 设为true)则停止转发,否则转发给父节点
            Keys.onPressed: (event)=>
            {
                print("item2 onPressed")
                event.accepted = true //停止转发
                //处理事件
                print("event.key = " + event.key)
                if(event.key === Qt.Key_W)
                {
                    print("W")
                }

                else if(event.key === Qt.Key_Left)
                {
                    print("Key_Left")
                }

                //组合按键 Ctrl Shift Alt

                if(event.modifiers & Qt.AltModifier)
                {
                    print("Alt")
                }
                // Alt + F12
                if((event.modifiers & Qt.AltModifier) && event.key === Qt.Key_F12)
                {
                    print("Alt + F12")
                }
                //Ctrl + ALt + A
                if((event.modifiers & Qt.ControlModifier) &&
                   (event.modifiers & Qt.AltModifier) &&
                   event.key === Qt.Key_A)
                {
                    print("Ctrl + ALt + A")
                }

            }
        }
    }
}


推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值