QML 鼠标事件

Posted 一去丶二三里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QML 鼠标事件相关的知识,希望对你有一定的参考价值。

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

QML 中有一些元素本身是不具备交互能力的(例如:Rectangle、Text、Image 等),那么如何通过鼠标来控制它们的行为呢?这里就需要用到 MouseArea 元素了,它继承于 Item 且不可见,通常需要与可见元素结合使用,以便为其提供鼠标操作的功能。

当然了,尽管 MouseArea 拥有 visible 属性,不过该属性与可见性并没有关系。当 visible 属性值为 false 时,表示忽略该鼠标区域的鼠标事件,行为类似于将 enabled 属性设置为 false。

老规矩,先上一张思维导图:

定义鼠标区域

由于 MouseArea 是一个 Item,所以它可以嵌套在其他元素里面,以便为其提供鼠标事件。

例如,要实现一个鼠标点击后随机变色的效果,可以这样做:

Rectangle 

以上是关于QML 鼠标事件的主要内容,如果未能解决你的问题,请参考以下文章

Qt QML - 在 QML 中识别超出鼠标区域范围

qt qml。 MouseArea 可以看到事件,但将它们全部传递给父级而不影响它们吗?

QML:是不是可以更改鼠标区域的长持续时间

通过在QT QML中单击鼠标重复矩形

带有 Qt/QML 应用程序的 Windows 7 中的自定义触摸行为

检测鼠标光标何时在 Qt5 和 QML 中的不规则形状图片上