Qml:键盘事件

简介: 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")
                }
            }
        }
    }
}


相关文章
|
4月前
|
机器学习/深度学习 人工智能 并行计算
基于昇腾适配蛋白质序列模型ProteinMPNN
ProteinMPNN是一种基于深度学习的蛋白质序列设计模型,核心目标是解决“逆向折叠问题”(inverse folding problem),即根据给定的蛋白质三维结构,设计出能够折叠成该结构的氨基酸序列。ProteinMPNN在计算和实验测试中都有出色的性能表现,不同位置的氨基酸序列可以在单链或多链之间偶联,从而广泛的应用于当前蛋白质设计上。ProteinMPNN不仅在天然蛋白质序列恢复率上面性能要高于传统的Rosetta方法,并且可以恢复先前设计失败的蛋白质。通过前沿AI技术突破科学研究的效率瓶颈,对于蛋白质工程、药物设计、酶设计等领域有极其重要的意义。
基于昇腾适配蛋白质序列模型ProteinMPNN
|
11月前
|
前端开发 JavaScript
使用 try-catch 语句来捕获 Promise 中的异常
【10月更文挑战第26天】使用try-catch语句捕获Promise中的异常是一种非常实用的技术,能够使异步代码的错误处理更加清晰、可控,提高程序的可靠性和稳定性。在实际开发中,合理地运用try-catch语句以及其他相关的错误处理机制,可以有效地应对各种可能出现的异常情况,为用户提供更好的体验。
|
11月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
669 2
|
前端开发 数据可视化 JavaScript
【五一创作】QML、Qt Quick /Qt中绘制圆形
【五一创作】QML、Qt Quick /Qt中绘制圆形
1116 0
|
Unix Linux 网络安全
这份MobaXterm使用指南,低调收藏!
这份MobaXterm使用指南,低调收藏!
1136 0
|
人机交互
操作系统进行设备控制的常见方式
基于上一篇博客,对操作系统进行常见设备控制的方式介绍,并知识拓展。
932 2
操作系统进行设备控制的常见方式
|
数据可视化 开发工具 git
|
XML 人工智能 JSON
【AI大模型应用开发】【LangChain系列】5. 实战LangChain的智能体Agents模块
【AI大模型应用开发】【LangChain系列】5. 实战LangChain的智能体Agents模块
917 0
|
数据采集 编解码 图形学
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
636 0
|
C++ Windows
Qt-QML-Popup,弹层界面编写
随着接触Qt的时间的增加,也逐渐的发现了Qt 的一些不人信话的一些地方,不由的想起一句话,也不知道是在哪里看到的了“一切变成语言都是垃圾,就C++还可以凑合用”大致意思是这样。最近项目的祝界面框架都基本写完了,那自我感觉良好,感觉自己QML的不得了了,全部用的都是自己YY出来的空间,今天小伙伴在同伴代码后,用到了我的模块,给我说了一个BUG,
658 0
Qt-QML-Popup,弹层界面编写