​​​​​​​​​​​​​​★3.3 事件处理

★3.3.1 ※MouseArea

Item <-- MouseArea

属性

acceptedButtons : Qt::MouseButtons

containsMouse : bool

【书】只读属性。表明当前鼠标光标是否在MouseArea上,默认只有鼠标的一个按钮处于按下状态时才可以被检测到。

containsPress : bool

cursorShape : Qt::CursorShape

drag

下面这些解释都来自书P117

drag.active : bool

【书】指定目标项目当前是否可以被拖动。值:true 或 false

?好像是个只读属性不能设置。等于说设置了target就等于说是true了?

drag.axis : enumeration

【书】指定可以拖动的方向。值:Drag.XAxis 水平方向

Drag.YAxis 垂直方向

Drag.XAndYAxis 水平和垂直方向

drag.filterChildren : bool

【书】使子 MouseArea 也启用拖动。值:true 或 false

drag.maximumX : real

【书】最小和最大拖动距离。值是像素,real类型的值。

drag.maximumY : real

drag.minimumX : real

drag.minimumY : real

drag.smoothed : bool

【书】是否平滑拖动。值:true或false

drag.target : Item

【书】指定要拖动的项目ID。值:对象

drag.threshold : real

【书】启用拖动的阈值,超过该值才被认为是一次拖动;合理设置阈值可以有效避免用户因抖动等原因造成的拖动误判。 real类型的值,以像素为单位。

enabled : bool

【书】是否启用鼠标处理,默认为true。如果设置为false则不处理任何鼠标事件。

hoverEnabled : bool

【书】默认情况下MouseArea项目只报告鼠标单击而不报告鼠标光标的位置改变,这可以通过设置hoverEnabled属性为true来进行更改。这样设置后,onPositionChanged(),onEntered()和onExited()等处理函数才可以使用。而且这时containsMouse属性也可以在没有鼠标按钮按下的情况下检查光标。

mouseX : real

onMouseXChanged: {

    if (mouseX - recZoom.x >= 0) {

         xScaleZoom = 1;

         recZoom.width = mouseX - recZoom.x;

     } else {

         xScaleZoom = -1;

         recZoom.width = recZoom.x - mouseX;

     }

}

mouseY : real

onMouseYChanged: {

    if (mouseY - recZoom.y >= 0) {

        yScaleZoom = 1;

        recZoom.height = mouseY - recZoom.y;

     } else {

         yScaleZoom = -1;

         recZoom.height = recZoom.y - mouseY;

     }

}

pressAndHoldInterval : int

pressed : bool

【书】只读属性,表明是否在MouseArea上按住了鼠标按钮,这个属性经常用于属性绑定,可以实现在鼠标按下时执行一些操作。

【补例子】

pressedButtons : MouseButtons

preventStealing : bool

propagateComposedEvents : bool

【书】属性设置为true来传播clicked,doubleClicked和pressAndHold等事件。但是只有在MouseArea没有接受这些事件的时候,它们才可以继续向下传播。

scrollGestureEnabled : bool

信号

canceled()

clicked(MouseEvent mouse)

doubleClicked(MouseEvent mouse)

entered()

exited()

positionChanged(MouseEvent mouse)

onPositionChanged()

pressAndHold(MouseEvent mouse)

pressed(MouseEvent mouse)

onPressed()

released(MouseEvent mouse)

onReleased()

wheel(WheelEvent wheel)

Method

为了与不同的元素交互,你通常需要使用 MouseArea(鼠标区域)元素。这是一个矩形的非可视化元素对象,你可以通过它来捕捉鼠标事件。当用户与可视化端口交互时,mouseArea 通常被用来与可视化元素对象一起执行命令。

很多时候,MouseArea 区域会传递一个鼠标事件作为参数,这个参数中包含了很多鼠标事件信息,例如,单击的位置,具体按下的一个鼠标左键还是右键,以及一些键盘按键信息。

Rectangle {
     width: 100; height: 100
     color: "green"

     MouseArea {
         anchors.fill: parent
         acceptedButtons: Qt.LeftButton | Qt.RightButton
         onClicked: {
             if (mouse.button == Qt.RightButton)
                 parent.color = 'blue';
             else
                 parent.color = 'red';
         }
     }
 }

在上面的例子中,当 Rectangle 区域被右键单击时会触发改变颜色。

也是继承自Item.

因为它看不到。所以在MouseArea里外面又套了一个Rectangle.下面的例子是在MouseArea里面嵌套一个Rectangle.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/954875.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GIS大模型:三维重建与建模

文章目录 数据收集预处理特征提取深度估计点云生成表面重建纹理映射大模型的角色 大模型在三维重建与建模方面&#xff0c;尤其是在处理低空地图数据时&#xff0c;展现了其强大的能力。通过使用深度学习算法&#xff0c;特别是那些基于卷积神经网络&#xff08;CNNs&#xff0…

wireshark抓路由器上的包 抓包路由器数据

文字目录 抓包流程概述设置抓包配置选项 设置信道设置无线数据包加密信息设置MAC地址过滤器 抓取联网过程 抓包流程概述 使用Omnipeek软件分析网络数据包的流程大概可以分为以下几个步骤&#xff1a; 扫描路由器信息&#xff0c;确定抓包信道&#xff1b;设置连接路由器的…

阿里云无影云电脑的使用场景

阿里云无影云电脑是一种安全、高效的云上虚拟桌面服务&#xff0c;广泛应用于多种场景&#xff0c;包括教育、企业办公、设计与视频制作、客服中心等。以下是九河云总结的无影云电脑的几个典型使用场景&#xff1a; #### 1. 教育机构 - **业务痛点**&#xff1a; - 学生实践操…

力扣 查找元素的位置

二分查找经典例题。 题目 要是只是从数组中用二分查找对应的元素&#xff0c;套一下模板一下就可以得出了&#xff0c;然后这题就在于其中会有多个目标元素&#xff0c;要用不同的方式在找到第一个元素时再做偏移。 时间复杂度&#xff1a;O(log n)&#xff0c;空间复杂度&am…

Profibus DP转Modbus TCP协议转换网关模块功能详解

Profibus DP 和 Modbus TCP 是两种不同的工业现场总线协议&#xff0c;Profibus DP 常用于制造业自动化领域&#xff0c;而 Modbus TCP 则在工业自动化和楼宇自动化等领域广泛应用。实现 Profibus DP 转 Modbus TCP 功能&#xff0c;通常需要特定的网关设备&#xff0c;以下为你…

SQL Prompt 插件

SQL Prompt 插件 注&#xff1a;SQL Prompt插件提供智能代码补全、SQL格式化、代码自动提示和快捷输入等功能&#xff0c;非常方便&#xff0c;可以自行去尝试体会。 1、问题 SSMS&#xff08;SQL Server Management Studio&#xff09;是SQL Server自带的管理工具&#xff0c…

OpenCV基础:矩阵的创建、检索与赋值

本文主要是介绍如何使用numpy进行矩阵的创建&#xff0c;以及从矩阵中读取数据&#xff0c;修改矩阵数据。 创建矩阵 import numpy as npa np.array([1,2,3]) b np.array([[1,2,3],[4,5,6]]) #print(a) #print(b)# 创建全0数组 eros矩阵 c np.zeros((8,8), np.uint8) #prin…

【Flink系列】9. Flink容错机制

9. 容错机制 在Flink中&#xff0c;有一套完整的容错机制来保证故障后的恢复&#xff0c;其中最重要的就是检查点。 9.1 检查点&#xff08;Checkpoint&#xff09; 9.1.1 检查点的保存 1&#xff09;周期性的触发保存 “随时存档”确实恢复起来方便&#xff0c;可是需要我…

于灵动的变量变幻间:函数与计算逻辑的浪漫交织(上)

大家好啊&#xff0c;我是小象٩(๑ω๑)۶ 我的博客&#xff1a;Xiao Xiangζั͡ޓއއ 很高兴见到大家&#xff0c;希望能够和大家一起交流学习&#xff0c;共同进步。 这一节我们主要来学习函数的概念&#xff0c;了解库函数中的标准库、头文件&#xff0c;了解自定义函数…

【CSS】---- CSS 实现超过固定高度后出现展开折叠按钮

1. 实现效果 2. 实现方法 使用 JS 获取盒子的高度&#xff0c;来添加对应的按钮和样式&#xff1b;使用 CSS 的浮动效果&#xff0c;参考CSS 实现超过固定高度后出现展开折叠按钮&#xff1b;使用容器查询 – container 语法&#xff1b;使用 clamp 函数进行样式判断。 3. 优…

STM32F407接HX711称重传感器

在许多嵌入式项目中&#xff0c;如智能家居、物流管理等&#xff0c;都需要用到精确的重量测量功能。STM32F407作为一款高性能的微控制器&#xff0c;搭配HX711称重传感器&#xff0c;可以轻松实现这一需求。本文将详细介绍如何将STM32F407与HX711称重传感器进行连接和编程&…

大模型UI:Gradio全解11——Chatbot:融合大模型的聊天机器人(4)

大模型UI&#xff1a;Gradio全解11——Chatbot&#xff1a;融合大模型的聊天机器人&#xff08;4&#xff09; 前言本篇摘要11. Chatbot&#xff1a;融合大模型的多模态聊天机器人11.4 使用Blocks创建自定义聊天机器人11.4.1 简单聊天机器人演示11.4.2 流式传输Chatbot11.4.3 添…

卷积神经网络——食物分类

整体框架&#xff1a; 导入库 导入了各种必需的Python库&#xff0c;用于数据处理、图像读取、模型构建和训练。 设置随机种子 seed_everything: 用于设置所有随机数生成器的种子&#xff0c;确保每次运行时的结果都是相同的。 图像预处理&#xff08;transform&#xff09; 对…

Dify应用-工作流

目录 DIFY 工作流参考 DIFY 工作流 2025-1-15 老规矩感谢参考文章的作者,避免走弯路。 2025-1-15 方便容易上手 在dify的一个桌面上,添加多个节点来完成一个任务。 每个工作流必须有一个开始和结束节点。 节点之间用线连接即可。 每个节点可以有输入和输出 输出类型有,字符串,…

LLM实现视频切片合成 前沿知识调研

1.相关产品 产品链接腾讯智影https://zenvideo.qq.com/可灵https://klingai.kuaishou.com/即梦https://jimeng.jianying.com/ai-tool/home/Runwayhttps://aitools.dedao.cn/ai/runwayml-com/Descripthttps://www.descript.com/?utm_sourceai-bot.cn/Opus Cliphttps://www.opu…

ASP.NET Core - 依赖注入(四)

ASP.NET Core - 依赖注入&#xff08;四&#xff09; 4. ASP.NET Core默认服务5. 依赖注入配置变形 4. ASP.NET Core默认服务 之前讲了中间件&#xff0c;实际上一个中间件要正常进行工作&#xff0c;通常需要许多的服务配合进行&#xff0c;而中间件中的服务自然也是通过 Ioc…

刷刷题刷题刷题

springaop 和 aspect aop的区别 springaop 是动态代理增强 aspect aop 是静态代理&#xff0c;在编译阶段生成aop代理类。这个时候是编译时增强 aop通知执行顺序 AOP 、OOP是啥 aop是面向切面 oop是面向对象 ComponentScan 不设置 basepackage也能进行扫描 没有配置&…

【6】Word:海名公司文秘❗

目录 题目 List.docx Word.docx List.docx和Word.docx 题目 List.docx 选中1/4全角空格复制→选中全部文本→开始→替换&#xff1a;粘贴将1/4全角空格 替换成 空格选中全部文本→插入→表格→将文本转化成表格→勾选和布局→自动调整→勾选 选中第一列&#xff0c;单机右键…

【Linux】gawk编辑器二

一、变量 gawk编程语言支持两种变量&#xff1a;内建变量和自定义变量。 1、内建变量 gawk使用内建变量来引用一些特殊的功能。 字段和记录分隔符变量 数据字段变量 此变量允许使用美元符号&#xff08;$&#xff09;和字段在记录中的位置值来引用对应的字段。要引用记录…

Kafka客户端-“远程主机强迫关闭了一个现有的连接”故障排查及解决

Kafka客户端-“远程主机强迫关闭了一个现有的连接”故障排查及解决 1. 故障现象 Kafka客户端发送数据时&#xff0c;出现“远程主机强迫关闭了一个现有的连接”错误&#xff0c;导致数据发送失败。错误信息如下&#xff1a; 2. 故障排查 【1】. 查看服务网络状态 出现故障…