QML系列二:QML用户交互-鼠标/键盘/焦点/触控事件

本文深入探讨了QML中的用户交互,包括MouseArea内的鼠标事件如Press、Release和Drag,键盘事件处理,焦点管理以及如何在FocusScope内控制焦点。此外,还介绍了触控事件,如单击、双指捏合(pinchArea)和多点触控(multiPointTouchArea),并强调了避免在多个mouseArea中同时处理事件的问题,推荐使用Input Handlers以支持更复杂的交互方式。
摘要由CSDN通过智能技术生成

鼠标事件

MouseArea提供了一系列事件:

  • Press
  • Release
  • Click
  • Double Click
  • Dragging Objects 拖拽

在这里插入图片描述

  • Hovering,悬浮

键盘事件

  • 所有可见元素都支持键盘事件,键盘事件是一个attatched property

  • 设置focus使元素接受键盘事件

  • 键盘事件包含event参数

必须显示accept,否则会将事件上传到父节点。

event.accepted = true;
  • keyNavigation键盘导航,同一时刻只有一个元素有焦点

焦点

  • 如果在多个元素内部设置focus为true,则在外部控制focus会很困难,这种情况下,最后一个创建的元素获得focus焦点
  • FocusScope本身是不可见的,但是可以控制焦点在起内部循环。可以控制fo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值