QML事件处理

本文详细介绍了QML中的MouseArea组件,包括鼠标事件处理如onClicked()、onPressed(),以及拖拽功能的实现。同时,文章还讨论了按键处理的步骤,如何设置活动焦点,使用Keys附加属性进行键盘事件处理,以及如何使用定时器和Loader动态加载组件。
摘要由CSDN通过智能技术生成

1、MouseArea

MouseArea 是一个不可见的项目,通常用来和一个可见的项目配合使用来为其提供鼠标处理。鼠标处理的逻辑可以包含在一个MouseArea项目中。

MouseArea的enabled属性可以用来设置是否启用鼠标处理,值默认为true;

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

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

对于鼠标的位置好按钮单击等信息是用过信号提供的,可以使用事件处理器来获取,最常用的有onClicked(),onDoubleClicked(),onPressed()

onReleased()和onPressAndHold()等。

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

Rectangle{
    color:"blue"
    border.color: "red"
    border.width: 5
    radius: 10
    width:100;height:100
 
    MouseArea{
    anchors.fill:parent
    onClicked: {parent.color = "red"}
    }
    }

方块从蓝变红。

1.1 MouseEvent

在很多MouseArea的信号中都包含了一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值