当前位置: 首页 > news >正文

QML 鼠标和键盘事件

学习目标:Qml 鼠标和键盘事件

学习内容

1、QML 鼠标事件处理QML 直接提供 MouseArea 来捕获鼠标事件,该操作必须配合Rectangle 获取指定区域内的鼠标事件,

2、QML 键盘事件处理,并且获取对OML直接通过键盘事件 Keys 监控键盘任意按键应的消息。

项目效果

键盘事件

 

鼠标事件

项目代码

键盘事件

import QtQuick 2.12
import QtQuick.Window 2.12Window {visible: truewidth: 640height: 480title: qsTr("Hello World")Rectangle{id:keyserctnanchors.centerIn: parentwidth: 450height: 200color: "green"// 不设置焦点,获取不了键盘事件focus: true//捕获键盘按键事件。Keys.onPressed: {//按下的按键的键值 相当于枚举的值 d:68console.log("key:"+event.key)//按下的按键的原生扫描码。 "A" 时,event.nativeScanCode 的值通常是 30。console.log("scancode:"+event.nativeScanCode)//按下的按键所对应的文本字符console.log("text:"+event.text)}//捕获特殊 tab键Keys.onTabPressed: {console.log("监控区域提示:你已经按下Tab键!")}//捕获特殊 空格键Keys.onSpacePressed: {console.log("监控区域提示:你已经按下空格键!")}}
}

鼠标事件 

import QtQuick 2.12
import QtQuick.Window 2.12import QtQuick.Controls 2.0Window {visible: truewidth: 640height: 480title: qsTr("Hello World")Rectangle{id :mouseanchors.centerIn: parentwidth: 450height: 200color: "red"radius: width/2//鼠标事件MouseArea{anchors.fill: parent //沾满//接受的按钮:全部acceptedButtons: Qt.AllButtons// 此属性为false,鼠标进入、离开、移动不能捕获到hoverEnabled: trueonPositionChanged: {console.log("监控区域提示:你当前鼠标移动坐标为:("+mouseX+","+mouseY+")");}onClicked: {if(mouse.button===Qt.LeftButton){console.log("监控区域提示:你已经按下鼠标左键!");}else if(mouse.button===Qt.RightButton){console.log("监控区域提示:你已经按下鼠标右键!");}else if(mouse.button===Qt.MidButton){console.log("监控区域提示:你已经按下鼠标中间键!");}}onDoubleClicked: {console.log("监控区域提示:你已经双击按下鼠标!");}}}}

 

 最后附上源代码链接
对您有帮助的话,帮忙点个star

Qt demo: 学习qt过程 (gitee.com)

相关文章:

QML 鼠标和键盘事件

学习目标:Qml 鼠标和键盘事件 学习内容 1、QML 鼠标事件处理QML 直接提供 MouseArea 来捕获鼠标事件,该操作必须配合Rectangle 获取指定区域内的鼠标事件, 2、QML 键盘事件处理,并且获取对OML直接通过键盘事件 Keys 监控键盘任意按键应的消…...

WPF引入多个控件库使用

目的 设计开发时有的控件库的一部分符合我们想要的UI样式,另一部分来自另一个控件库,想把两种库的样式做一个整合在同一个控件资源上。单纯通过引用的方式会导致原有样式被覆盖。这里通过设置全局样式的方式来实现。 1.安装控件库nuget包:H…...

【Linux】1w详解如何实现一个简单的shell

目录 实现思路 1. 交互 获取命令行 2. 子串分割 解析命令行 3. 指令的判断 内建命令 4. 普通命令的执行 补充:vim 文本替换 整体代码 重点思考 1.getenv和putenv是什么意思 2.代码extern char **environ; 3.内建命令是什么 4.lastcode WEXITSTATUS(sta…...

单目测距 单目相机测距 图片像素坐标转实际坐标的一种转换方案

需要相机位置固定 原图 红色的点是我们标注的像素点,这些红色的点我们知道它的像素坐标,以及以右下角相机位置为原点的x y 实际坐标数值 通过转换,可以得到整个图片内部其余像素点的实际坐标, 这些红色的点是通过转换关系生成的&…...

ensp防火墙综合实验作业+实验报告

实验目的要求及拓扑图: 我的拓扑: 更改防火墙和交换机: [USG6000V1-GigabitEthernet0/0/0]ip address 192.168.110.5 24 [USG6000V1-GigabitEthernet0/0/0]service-manage all permit [Huawei]vlan batch 10 20 [Huawei]int g0/0/2 [Huawei-…...

【大模型LLM面试合集】大语言模型基础_Word2Vec

Word2Vec 文章来源:Word2Vec详解 - 知乎 (zhihu.com) 1.Word2Vec概述 Word2Vec是google在2013年推出的一个NLP工具,它的特点是能够将单词转化为向量来表示,这样词与词之间就可以定量的去度量他们之间的关系,挖掘词之间的联系。 …...

图论基础概念(详细讲解)

今天,我们讲解一下图论的概念,首先我们知道图是一个什么东西。 图你可以理解成一个网络系统,两个节点之间可能会有边,边链接两个节点,可能是有向(就比如说a只能往b,或者b只能往c),可能是无向&a…...

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序报错的解决办法

今天在免费云服务器,三丰云上运行c#或python程序,都提示:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序,PHP程序就直接乱码,odbc_connect(): SQL error: [Microsoft][ODBC ���&…...

《从零开始学习Linux》——开篇

前言 近日笔者新开专栏,《从零开始学习Linux》,Linux水深而且大,学了一圈之后,有懂得有不懂的,一直没有机会整体的全部重新捋一遍,本专栏的目的是,带着大家包括我自己重新学习Linux一遍这些知识…...

3D工艺大师快速生成装配动画,驱动汽车工业装配流程革新

在现代制造业的一般生产流程中,车间装配环节是产品由蓝图迈向市场前至关重要的一道工序。随着产品结构的日益复杂化和个性化需求的不断增长,车间装配工作面临着前所未有的挑战。高精密度的装配要求、错综复杂的组件关系以及频繁变更的生产计划&#xff0…...

gateway

gateway核心概念 1. 路由(route) 路由是网关中最基础的部分,路由信息包括一个ID、一个目的URI、一组断言工厂、一组Filter组成。如果断言为真,则说明请求的URL 和 配置的路由匹配。 2. 断言(predicates) 断言函数允许开发者去定义匹配Htt…...

第一个ffmpeg程序

在进行使用ffmpeg进行编写程序时,首先要记得进行注册设备(avdevice_register_all ),程序运行时,只需要注册一次就可以 avdevice_register_all 是 FFmpeg 多媒体处理库中的一个函数,其作用是注册所有可用的音…...

论文翻译:Large Language Models for Education: A Survey and Outlook

https://arxiv.org/abs/2403.18105 目录 教育领域的大型语言模型:一项调查和展望摘要1. 引言2. 教育应用中的LLM2.1 概述2.2 学习辅助2.2.1 问题解决(QS) 2.2.2 错误纠正(EC)2.2.3 困惑助手(CH)…...

python为什么慢?(自用)

《Cython系列》1. Cython 是什么?为什么要有 Cython?为什么我们要用 Cython? - 古明地盆 - 博客园 (cnblogs.com) 古明地盆的主页 - 博客园 (cnblogs.com) 我原本认为,python慢的原因是“逐行解释程序并执行”,那么我…...

压缩感知3——重构算法正交匹配追踪算法

算法流程 问题的实质是&#xff1a;AX Y 求解&#xff08;A是M维&#xff0c;Y是N维且N>>M并且稀疏度K<M&#xff09;明显X有无穷多解&#xff0c;重构过程是M次采样得到的采样值升维的过程。OMP算法的具体步骤&#xff1a;(1)用X表示信号&#xff0c;初始化残差e0 …...

“好物”推荐+Xshell连接实例+使用Conda创建独立的Python环境

目录 主题&#xff1a;好易智算平台推荐RTX 4090DGPU实例租用演示安装配置torch1.9.1cuda11.1.1环境引言&#xff1a;算力的新时代平台介绍&#xff1a;技术与信任的结晶使用案例&#xff1a;实际使用展示创建实例开始使用连接实例&#xff08;下文演示使用Xshell连接&#xff…...

浪潮天启防火墙TQ2000远程配置方法SSL-V偏、L2xx 配置方法

前言 本次设置只针对配置V偏&#xff0c;其他防火墙配置不涉及。建议把防火墙内外网都调通后再进行V偏配置。 其他配置可参考&#xff1a;浪潮天启防火墙配置手册 配置SSLVxx 在外网端口开启SSLVxx信息 开启SSLVxx功能 1、勾选 “启用SSL-Vxx” 2、设置登录端口号&#xff0…...

java八股文面试题

Java八股文面试题通常涵盖了Java语言的基础知识、高级特性、框架应用、数据库操作等多个方面。以下是一些常见的Java面试题及其详细回答&#xff0c;按照不同的主题进行分类&#xff1a; 一、Java基础 面向对象的特征有哪些&#xff1f; 抽象&#xff1a;忽略与当前目标无关的…...

【服务器】在Linux查看运行的Python程序,并找到特定的Python程序

在Linux查看运行的Python程序并找到特定的Python程序 写在最前面1. 使用ps命令查看所有Python进程查看详细信息 2. 使用pgrep命令查找Python进程ID 3. 使用top或htop命令使用top命令使用htop命令 4. 使用lsof命令查找Python进程打开的文件 5. 使用nvidia-smi命令查看GPU使用情况…...

安全防御---防火墙实验1

安全防御—防火墙实验1 一、实验拓扑与要求 要求&#xff1a; 1、DMZ区内的服务器&#xff0c;办公区仅能在办公时间内&#xff08;9&#xff1a;00-18:00)可以访问&#xff0c;生产区的设备全天可以访问 2、生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 …...

解锁Dify工作流新潜能:四种并行模式实战解析

1. 为什么需要工作流并行化&#xff1f; 第一次用Dify构建工作流时&#xff0c;我就被它的可视化编排能力惊艳到了。但实际跑了几次发现&#xff0c;当处理复杂任务时&#xff0c;串行执行就像在高速公路上开拖拉机——明明有八车道却只开放一条。比如做新闻情感分析时&#xf…...

Spring_couplet_generation 助力科研:使用MATLAB进行生成结果的数据分析与可视化

Spring_couplet_generation 助力科研&#xff1a;使用MATLAB进行生成结果的数据分析与可视化 1. 引言 想象一下&#xff0c;你是一位研究语言文化或社会科学的学者&#xff0c;最近利用AI模型生成了成千上万副春联。面对这海量的文本数据&#xff0c;你可能会感到既兴奋又头疼…...

AI Agent开发实战:基于PyTorch与LangChain构建自主任务执行智能体

AI Agent开发实战&#xff1a;基于PyTorch与LangChain构建自主任务执行智能体 1. 为什么需要自主任务执行智能体 想象一下&#xff0c;你每天要处理几十封邮件、查找各种资料、整理会议纪要&#xff0c;还要写周报。这些重复性工作占据了大量时间&#xff0c;而真正需要创造力…...

内存暴涨却查无踪迹?Python对象生命周期管理的7个致命盲区,现在不看明天宕机!

第一章&#xff1a;Python智能体内存管理的核心原理Python智能体&#xff08;如基于LangChain、LlamaIndex构建的Agent&#xff09;在运行过程中并非仅依赖语言模型推理&#xff0c;其内存管理机制直接决定状态持久性、上下文感知能力与多轮交互一致性。核心在于Python对象生命…...

解密ARM多核调度:从Linux内核源码看SMP负载均衡如何玩转Cortex-A系列

ARM多核调度实战&#xff1a;从Linux内核视角剖析SMP负载均衡的艺术 在移动计算和嵌入式系统领域&#xff0c;ARM架构凭借其出色的能效比已经占据了主导地位。随着Cortex-A系列处理器核心数量的不断增加&#xff0c;如何高效地管理这些计算资源成为系统性能优化的关键。本文将带…...

AgentCPM模型API接口设计规范与安全防护最佳实践

AgentCPM模型API接口设计规范与安全防护最佳实践 最近在帮几个团队把他们的AgentCPM模型从本地测试环境搬到线上&#xff0c;发现大家普遍有个误区&#xff1a;觉得模型能跑通、接口能调通&#xff0c;就算部署成功了。结果呢&#xff0c;没过多久就遇到了各种问题——有人恶意…...

NUS-WIDE数据集实战:从原始文件到多模态数据集的完整预处理指南

1. NUS-WIDE数据集简介与下载指南 NUS-WIDE是一个经典的多标签图像数据集&#xff0c;由新加坡国立大学的研究团队构建。这个数据集包含了269,648个样本和81个类别&#xff0c;每个样本可能同时属于多个类别&#xff08;这就是多标签的含义&#xff09;。数据集最初是为了研究网…...

效率提升神器:快马AI自动生成安装脚本,告别重复配置工作

效率提升神器&#xff1a;快马AI自动生成安装脚本&#xff0c;告别重复配置工作 每次给团队批量安装正版软件时&#xff0c;最头疼的就是重复配置。记得上个月部署开发环境&#xff0c;光是手动点下一步、选路径、勾选组件就花了整整一上午&#xff0c;还因为手滑选错选项导致…...

【C++ 面试突击 · 05】大厂高频面试题:从内联函数到内存管理全梳理

目录 一、什么是inline函数&#xff1f; 二、inline函数的优缺点&#xff1f; 三、inline和宏定义的比较&#xff1f; 四、虚函数&#xff08;virtual&#xff09;可以是内联函数&#xff08;inline&#xff09;吗&#xff1f; 五、C中struct和class的区别&#xff1f; 六…...

提升工作效率的利器:哦我的Claude代码(Oh-My-ClaudeCode)

轻松掌握Claude Code的多代理 orchestration——oh-my-claudecode 在我们的工程师和开发者面前&#xff0c;常常会遇到复杂的任务调度和多代理协作的问题。如何有效地利用可用的AI助手并提高工作效率&#xff0c;成为了一个不容忽视的挑战。oh-my-claudecode正是为了解决这些问…...